Prikaz jedne poruke
Stara 25.10.2008, 14:56   #3
JBlitzkrieg
Član
 
Član od: 6.3.2006.
Lokacija: Nis
Poruke: 141
Zahvalnice: 31
Zahvaljeno 9 puta na 7 poruka
Određen forumom Re: Jedan zadatak u C-u

Mislim da si dobro skontao zadatak.
Kod ovakvih zadataka se uvek pretpostavlja da niz ima neku maksimalnu granicu do koje se moze najvise ici. To bi bilo kao nesto:
Kod:
int niz[10000];
Onda bi vrsio unos u niz i pamtio u posebnoj promenljivoj koliko sam elemenata uneo. Ovako nesto

Kod:
int niz[10000];
int num = 0, tmp = 1;
while (true)
{
  scanf("%d",&tmp);
  if (tmp == 0)
    break;
  if (tmp > 0)
     niz[num++] = tmp;
}
Posle proteras jednu for petlju od 0 do num-a i proveris uslove.
Za broj brojeva sa ostkom koristi novi niz od maksimalno 11 elemenata (posto ti je tako definisano u zadatku) i u polja sa odgovarajucim indeksom stavljaj brojace (na nultom indeksom broj brojeva sa ostatkom 0, sa indeksom 1 sa ostatkom 1...)

Kod:
int ostatak[11];
for (int i = 0; i< 10 ; i++)
  ostatak[i] = 0;
for (i = 0; i < num; i++)
  ostatak[niz[i]%n]++;
Naravno pre toga proveri da li je n u odgovarajucem opsegu.

Ako ides u srednju skolu onda sam 99.99% siguran da ti malloc, calloc i realloc (i ostale stvari iz malloc.h) ne trebaju, jer se principi dinamicke memorije tada jos uvek ne uce, mada ni to nije tesko. Da pises "pravu" aplikaciju, onda bi zbog optimizacije memorije morao da koristis malloc.h.

Poslednja ispravka: JBlitzkrieg (25.10.2008 u 15:07)
JBlitzkrieg je offline   Odgovor sa citatom ove poruke