Poslao: 02 Maj 2005 16:42
|
offline
- Pridružio: 23 Maj 2003
- Poruke: 590
|
ne treba ti #define, stavis samo while petlju sve dok ti ne bude 0,
pa onda prvi uneseni broj stavis kao da ti je npr maximalna vrednost, (bez obzira da li je to tacno ili ne ) pa posle uporedjujes redom sa svakim brojem, da li je vece ili manje, ako je vece onda im zamenis vrednosti ako nije vece nastavljas da uporedjujes sa sledecim brojem. Sa min isto to.
btw jel se zavrsava sa 0 ili sa \0 ?
predpostavljam ono drugo, posto '\0' obicno oznacava kraj niza (ispravite me ako gresim) pa u tom slucaju napisi
while((c=getch())!='\0'){
....}
ostatak probaj sam da uradis
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 02 Maj 2005 21:01
|
offline
- Peca

- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
Blshka ::btw jel se zavrsava sa 0 ili sa \0 ?
predpostavljam ono drugo, posto '\0' obicno oznacava kraj niza (ispravite me ako gresim)
gresis
\0 je bajt, nulti ASCII karakter, i on oznacava kraj stringa
a on ovde ne unosi string [tj. slova], nego unosi niz brojeva.
treba da ceka 0.
ovako:
char buf[10]
int i;
int min=0;
int max=0;
while(1)
{
printf ("Unesi broj: ");
fgets (buf, 10, STDIN);
i=atoi (buf);
if (i==0) break;
if (max<i) max=i;
if (min>i) min=i;
}
printf ("\n\nMax: %i\n", max);
printf (Min: %i\n", min);
|
|
|
|
|
Poslao: 04 Maj 2005 11:00
|
offline
- Omadawn
- Novi MyCity građanin
- Pridružio: 09 Jan 2005
- Poruke: 18
|
Ma necu se ulenjiti ali ste me sad malo zeznuli.Dali ste mi par stvari koje prvi put vidim.Hm.....zasto:
ovo:char buf[10] /*pretpostavljam da je to uslov da ne ide dalje od 10*/
ovo:fgets (buf, 10, STDIN); /*bas me buni do sad je sve bilo scanf...*/
i ovo: i=atoi (buf)
tj.sta znaci,kako radi ako mozete malo da mi pomognete u par koraka ono samo da skapiram sta je za sta.
THX
|
|
|
|
Poslao: 04 Maj 2005 12:33
|
offline
- meka

- Počasni građanin
- Pridružio: 06 Avg 2003
- Poruke: 811
- Gde živiš: Novi Sad / Vojvodina
|
char buf[10] pravi niz od 10 karaktera, fgets(buf, 10, STDIN) ucitava sa STDIN-a (standradnog ulaza, sto ce reci tastatura) do 10 karaktera (ako pre ne stisnes Enter) i smesta ih u buf, tako da znas da neces ucitati nesto preveliko sto, da prostis, ne moze da ti stane. atoi je skracenica za ASCII to int, sto ce reci da ti bilo koji text pokusava da prebavi u broj. Pokusava, znaci da mozes da mu kao argument das i "325fsdb" sto je veoma besmisleno, ali ipak ce ga nekako progutati ali ti bas i nece prebaciti u neki broj (mislim da ce biti 0, ali nisam siguran). Moram priznati da je ovo malo petljavina, ali dobar primer da skontas neke stvari. Da je neki FILE *f argument fgets() umesto STDIN onda bi mi jos i bilo jasno, ovako ... mislim da bi moglo dosta lakse/brze.
|
|
|
|