Wątek przeniesiony 2014-01-23 13:09 z C/C++ przez ŁF.

Losowanie liczby z przedziału i sumowanie jej cyfr

0

Witam, mam do napisania program który ma losować liczbę z przedziału <0, 99> i potem sumować jej cyfry. Starałam się napisać coś podobnego w oparciu o ksiązki ale pewnie są to kompletne bzdury (jestem na samym początku nauki w C ). Bardzo proszę o pomoc. PILNE!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
srand(time(NULL));
int liczba = rand() % 100;
int suma;

suma = 0;

do {

	  suma += liczba%10;
	  liczba = liczba/10;

  } while ( liczba != 0);

  printf("%d", suma);

  system("PAUSE");

  return 0;
}


1

Oprócz beznadziejnego formatowania, oraz bezsensownego i nieprzenośnego zatrzymania konsoli - program jest poprawny.

0

Dzięki za wskazówki. Może wiesz co teraz muszę zrobić aby używając tej funkcji wylosować 1000 takich liczb i obliczyć częstotliwość występowania każdej? tego to już nie mam pojęcia jak zrobić...

0
  1. Pętla for.
  2. Tablica
0

Najpierw posortuj te tablice, wtedy otrzymasz rozwiazanie zlozonosci liniowej O(n).

0
dict freq;
for i=0 to size(arr)
  if freq[arr[i]] != nil
    freq[arr[i]] += 1
  else
    freq[arr[i]] = 1

Ahh teraz widze, ze wystarczy tablica (zamiast slownika), wiec bedzie jeszcze prosciej.

dodanie znacznika <code class="c"> - fp

1 użytkowników online, w tym zalogowanych: 0, gości: 1