Help

2

Help

offline
  • Blshka 
  • Zaslužni građanin
  • 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 Smile ) 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.
offline
  • Peca  Male
  • 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);



offline
  • Blshka 
  • Zaslužni građanin
  • Pridružio: 23 Maj 2003
  • Poruke: 590

Eto kad bolje procitam zadatak jasno pise da se unos zavrsava sa 0...
Hvala Peco na ispravci,
Tako to biva kad je covek brzoplet...
Wink


eto covek trazio idejno resenje a dobio ceo kod...
ulenjice se bre Very Happy Very Happy Very Happy

offline
  • 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

offline
  • meka  Male
  • 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. Smile 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.

Ko je trenutno na forumu
 

Ukupno su 902 korisnika na forumu :: 16 registrovanih, 2 sakrivenih i 884 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, drimer, ekser222, Istman, Kruger, mean_machine, mgolub, mnn2, operniki, panzerwaffe, RecA, Trpe Grozni, Tvrtko I, W123, yufighter, zzapNDjuric99