Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Pomoc oko zadatka
WWW:
Idite na 1, 2, 3, 4, 5, 6, 7  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
CROmpir
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 09. 2009. (18:27:06)
Postovi: (B3)16
Sarma = la pohva - posuda
= 7 - 2

PostPostano: 18:44 pet, 24. 9. 2010    Naslov: Pomoc oko zadatka Citirajte i odgovorite

Moze li mi netko pomoci rjesiti ovaj zadatak?

Napisite program koji ucitava 6 realnih brojeva te ispisuje umnozak ona dva koji imaju navjecu, odnosno najmanju apsolutno vrijednost. Ako imaju dva broja istu apsolutnu vrijednost za veceg/manjeg uzmite onog koji je prije ucitan....

Dodjem sve do dijela gdje moram postaviti problem ako su isti... Moze li mi netko rijesit cijeli zadatak pa da vidim kako u cijelom kontekstu to dolazi?
Moze li mi netko pomoci rjesiti ovaj zadatak?

Napisite program koji ucitava 6 realnih brojeva te ispisuje umnozak ona dva koji imaju navjecu, odnosno najmanju apsolutno vrijednost. Ako imaju dva broja istu apsolutnu vrijednost za veceg/manjeg uzmite onog koji je prije ucitan....

Dodjem sve do dijela gdje moram postaviti problem ako su isti... Moze li mi netko rijesit cijeli zadatak pa da vidim kako u cijelom kontekstu to dolazi?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Swerz
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2009. (21:30:28)
Postovi: (182)16
Spol: muško
Sarma = la pohva - posuda
15 = 33 - 18

PostPostano: 19:11 pet, 24. 9. 2010    Naslov: Citirajte i odgovorite

Moze, ali ce ti vise koristiti i bolje ces se osjecati kad ga sam uspijes rijesiti.

HINT: ucitavaj brojeve u niz. Tako ces znati koji si broj prije ucitao.
Moze, ali ce ti vise koristiti i bolje ces se osjecati kad ga sam uspijes rijesiti.

HINT: ucitavaj brojeve u niz. Tako ces znati koji si broj prije ucitao.



_________________
Though your dreams be tossed and blown...
[Vrh]
Korisnički profil Pošaljite privatnu poruku
CROmpir
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 09. 2009. (18:27:06)
Postovi: (B3)16
Sarma = la pohva - posuda
= 7 - 2

PostPostano: 19:16 pet, 24. 9. 2010    Naslov: Citirajte i odgovorite

[code:1]#include <stdio.h>
#include <stdlib.h>

int main(void) {
int i;
double x, max, min,a;

scanf("%lf", &x);
if (x>0)
a=x;
if (x<0)
a=-x;
max=a;
min=a;

for (i=0;i<5;i++){

scanf("%lf", &x);

if (x>0)
a=x;
if (x<0)
a=-x;
if (a && a > max)
max = a;
if (a && a < min)
min = a;
}


printf("maksimum je %g\n", max);
printf("minimum je %g\n", min);
system("pause");
return 0;
}[/code:1]

Evo ovo je moj kod. Tu odredim min i max od apsolutne vrijednosti. No kako sada da vratim broj od kojeg sam uzimao apsolutnu vrijednost i jos da ubacim jednakost dva broja?
Kod:
#include <stdio.h>
#include <stdlib.h>

 int main(void) {
     int i;
     double x, max, min,a;
     
     scanf("%lf", &x);
      if (x>0)
        a=x;
      if (x<0)
        a=-x;
      max=a;
      min=a;
     
      for (i=0;i<5;i++){
         
          scanf("%lf", &x);
           
           if (x>0)
             a=x;
           if (x<0)
             a=-x;
           if (a && a > max)
              max = a;
           if (a && a < min)
              min = a;
           }
                   
             
  printf("maksimum je %g\n", max);
  printf("minimum je %g\n", min);
  system("pause");
  return 0;
  }


Evo ovo je moj kod. Tu odredim min i max od apsolutne vrijednosti. No kako sada da vratim broj od kojeg sam uzimao apsolutnu vrijednost i jos da ubacim jednakost dva broja?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Cobs
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15)
Postovi: (206)16
Spol: muško
Sarma = la pohva - posuda
26 = 40 - 14
Lokacija: Geto

PostPostano: 19:39 pet, 24. 9. 2010    Naslov: Citirajte i odgovorite

nes ovak?

[code:1]

...
double min, max, provjera;
...
for( int i = 0; i <= 5; i++ ){
double x;
scanf("%lg", &x);
if( i == 0 ){
min = max = x;
continue;
}
if( x < 0 ) provjera = -x;
else provjera = x;

if( min < 0 ){
if( provjera < -min ) min = x;
}
else{
if( provjera < min ) min = x;
}
if( max < 0 ){
if( provjera < -max ) max = x;
}
else{
if( provjera < max ) max = x;
}
}


[/code:1]
nes ovak?

Kod:

   
   ...
   double min, max, provjera;
  ...
   for( int i = 0; i <= 5; i++ ){
       double x;
       scanf("%lg", &x);
       if( i == 0 ){
          min = max = x;
          continue;
       }
       if( x < 0 ) provjera = -x;
       else provjera = x;
     
      if( min < 0 ){
           if( provjera < -min ) min = x; 
       }   
       else{
           if( provjera < min ) min = x;
       }
       if( max < 0 ){
           if( provjera < -max ) max = x; 
       }   
       else{
           if( provjera < max ) max = x;
       }   
  }
 

 




Zadnja promjena: Cobs; 19:53 pet, 24. 9. 2010; ukupno mijenjano 2 put/a.
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Swerz
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2009. (21:30:28)
Postovi: (182)16
Spol: muško
Sarma = la pohva - posuda
15 = 33 - 18

PostPostano: 19:40 pet, 24. 9. 2010    Naslov: Citirajte i odgovorite

Ak sam dobro shvatio zadatak.
INPUT: -3 8 4 3 5
OUTPUT: -24

Ja bi to ovako rijesio.
[code:1]#include <stdio.h>
#include <stdlib.h>

int abs(int x)
{
if (x < 0) return -x;
else return x;

}

int main()
{
int i;
float niz[5], max, min;

for (i=0; i<5; i++)
{
scanf ("%f", &niz[i]);
}
max = niz[0];
min = niz[0];

for (i=0; i<5; i++)
{
if (abs(niz[i]) > abs(max)) max=niz[i];
else if (abs(niz[i]) < abs(min)) min=niz[i];
}

printf ("%f", max*min);

system("PAUSE");
return 0;
}

[/code:1]

Greska u tvom pristupu je ta sto ucitane brojeve automatski prebacujes u pozitivne.
Ak sam dobro shvatio zadatak.
INPUT: -3 8 4 3 5
OUTPUT: -24

Ja bi to ovako rijesio.
Kod:
#include <stdio.h>
#include <stdlib.h>

int abs(int x)
{
    if (x < 0) return -x;
    else return x;
   
}

int main()
{
    int i;
    float niz[5], max, min;
   
    for (i=0; i<5; i++)
    {
        scanf ("%f", &niz[i]);
    }
    max = niz[0];
    min = niz[0];
   
    for (i=0; i<5; i++)
    {
        if (abs(niz[i]) > abs(max)) max=niz[i];
        else if (abs(niz[i]) < abs(min)) min=niz[i];
    }
   
printf ("%f", max*min);
 
  system("PAUSE");   
  return 0;
}



Greska u tvom pristupu je ta sto ucitane brojeve automatski prebacujes u pozitivne.



_________________
Though your dreams be tossed and blown...
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Cobs
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15)
Postovi: (206)16
Spol: muško
Sarma = la pohva - posuda
26 = 40 - 14
Lokacija: Geto

PostPostano: 19:41 pet, 24. 9. 2010    Naslov: Citirajte i odgovorite

vidio i promijenio! uostalom to je i bio tvoj jedini problem

malo sam se zaletio sam s ovim prvim ucitavanjem tu jos treba provjerica dal je minimum negativan. ubacil bi dva int jedan za min i max koji bi mi govorili dal je min pozitivan il negativan, i dal je max pozitivan il negativan...
vidio i promijenio! uostalom to je i bio tvoj jedini problem

malo sam se zaletio sam s ovim prvim ucitavanjem tu jos treba provjerica dal je minimum negativan. ubacil bi dva int jedan za min i max koji bi mi govorili dal je min pozitivan il negativan, i dal je max pozitivan il negativan...


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
CROmpir
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 09. 2009. (18:27:06)
Postovi: (B3)16
Sarma = la pohva - posuda
= 7 - 2

PostPostano: 19:49 pet, 24. 9. 2010    Naslov: Citirajte i odgovorite

e super puno ti hvala, skuzio sam sad :D
e super puno ti hvala, skuzio sam sad Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku
ante003
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 10. 2008. (17:45:10)
Postovi: (3C5)16
Spol: muško
Sarma = la pohva - posuda
24 = 71 - 47

PostPostano: 19:54 pet, 24. 9. 2010    Naslov: Citirajte i odgovorite

[quote="Swerz"]Moze, ali ce ti vise koristiti i bolje ces se osjecati kad ga sam uspijes rijesiti.

HINT: ucitavaj brojeve u niz. Tako ces znati koji si broj prije ucitao.[/quote]

Pitanje je je li smiju oni koristit nizove ? Prosle godine se nije smijelo na prvom kolokviju.
Swerz (napisa):
Moze, ali ce ti vise koristiti i bolje ces se osjecati kad ga sam uspijes rijesiti.

HINT: ucitavaj brojeve u niz. Tako ces znati koji si broj prije ucitao.


Pitanje je je li smiju oni koristit nizove ? Prosle godine se nije smijelo na prvom kolokviju.



_________________
Ako ste previše otvorenog uma, ispast će vam mozak
------------------------------------------------------
Racunalo bez Windowsa je kao riba bez bicikla
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Cobs
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15)
Postovi: (206)16
Spol: muško
Sarma = la pohva - posuda
26 = 40 - 14
Lokacija: Geto

PostPostano: 19:54 pet, 24. 9. 2010    Naslov: Citirajte i odgovorite

brijem da je sad ovo promijenjeno rjesenje gore ok, bez nizova, pa malo kompliciranjije...
brijem da je sad ovo promijenjeno rjesenje gore ok, bez nizova, pa malo kompliciranjije...


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Swerz
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2009. (21:30:28)
Postovi: (182)16
Spol: muško
Sarma = la pohva - posuda
15 = 33 - 18

PostPostano: 19:57 pet, 24. 9. 2010    Naslov: Citirajte i odgovorite

:thumbup:
Thumb up!



_________________
Though your dreams be tossed and blown...
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 7:31 sub, 25. 9. 2010    Naslov: Citirajte i odgovorite

Kakvi nizovi, ljudi?!? :shock: Uzima li se prvi ili zadnji od svih koji su jednaki po kriteriju usporedbe, razlika je samo u usporedbi (hoće li pisati [tt]<[/tt] ili [tt]<=[/tt], odnosno [tt]>[/tt] ili [tt]>=[/tt]).

Cemu sluzi [tt]a[/tt] (prvi dio uvjeta) u
[code:1]if (a && a < min)[/code:1]
Gdje u zadatku pise da se nule ignoriraju?

Nemojte se bojati koristiti pomocne varijable. Sto fali tome da imate
[tt]x[/tt] - ucitani broj,
[tt]ax[/tt] - apsolutna vrijednost od [tt]x[/tt],
[tt]min[/tt], [tt]max[/tt] - broj s najmanjom/najvecom aps. vrijednoscu (dakle, neki od [tt]x[/tt]-eva),
[tt]amin[/tt], [tt]amax[/tt] - apsolutna vrijednost od [tt]min[/tt], odnosno [tt]max[/tt] (dakle, neki od [tt]a[/tt]-ova)?
Kakvi nizovi, ljudi?!? Shocked Uzima li se prvi ili zadnji od svih koji su jednaki po kriteriju usporedbe, razlika je samo u usporedbi (hoće li pisati < ili , odnosno > ili >=).

Cemu sluzi a (prvi dio uvjeta) u
Kod:
if (a && a < min)

Gdje u zadatku pise da se nule ignoriraju?

Nemojte se bojati koristiti pomocne varijable. Sto fali tome da imate
x - ucitani broj,
ax - apsolutna vrijednost od x,
min, max - broj s najmanjom/najvecom aps. vrijednoscu (dakle, neki od x-eva),
amin, amax - apsolutna vrijednost od min, odnosno max (dakle, neki od a-ova)?



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Buki
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 10. 2010. (20:15:17)
Postovi: (56)16
Sarma = la pohva - posuda
= 4 - 0

PostPostano: 13:44 pet, 22. 10. 2010    Naslov: Citirajte i odgovorite

Pokušao sam riješiti taj zadatak isključivo preko if naredbe, ali ne radi, izbacuje mi kvadrat zadnjeg broja.. može pomoć?

[code:1]
#include <stdio.h>

int main (void){

double a, b, c, d, e;
double a1, b1, c1, d1, e1;
double max, min;

scanf ("%lf %lf %lf %lf %lf", &a, &b, &c, &d, &e);

if (a<0) a1=-a;
else a1=a;
if (b<0) b1=-b;
else b1=b;
if (c<0) c1=-c;
else c1=c;
if (d<0) d1=-d;
else d1=d;
if (e<0) e1=-e;
else e1=e;

min=max=a1;

if (b1>max) max=b1;
if (c1>max) max=c1;
if (d1>max) max=d1;
if (e1>max) max=e1;

if (b1<min) min=b1;
if (c1<min) min=c1;
if (d1<min) min=d1;
if (e1<min) min=e1;

if (min=a1) min=a;
if (min=b1) min=b;
if (min=c1) min=c;
if (min=d1) min=d;
if (min=e1) min=e;

if (max=a1) max=a;
if (max=b1) max=b;
if (max=c1) max=c;
if (max=d1) max=d;
if (max=e1) max=e;

printf ("%g\n", max*min);

system ("pause");

return 0;
}
[/code:1]
Pokušao sam riješiti taj zadatak isključivo preko if naredbe, ali ne radi, izbacuje mi kvadrat zadnjeg broja.. može pomoć?

Kod:

#include <stdio.h>

int main (void){
   
double a, b, c, d, e;
double a1, b1, c1, d1, e1;
double max, min;
   
scanf ("%lf %lf %lf %lf %lf", &a, &b, &c, &d, &e);

if (a<0) a1=-a;
   else a1=a;
if (b<0) b1=-b;
   else b1=b;
if (c<0) c1=-c;
   else c1=c;
if (d<0) d1=-d;
   else d1=d;
if (e<0) e1=-e;
   else e1=e;

min=max=a1;

if (b1>max) max=b1;
if (c1>max) max=c1;   
if (d1>max) max=d1;   
if (e1>max) max=e1;

if (b1<min) min=b1;   
if (c1<min) min=c1;
if (d1<min) min=d1;
if (e1<min) min=e1;

if (min=a1) min=a;
if (min=b1) min=b;
if (min=c1) min=c;
if (min=d1) min=d;
if (min=e1) min=e;

if (max=a1) max=a;
if (max=b1) max=b;
if (max=c1) max=c;
if (max=d1) max=d;
if (max=e1) max=e;

printf ("%g\n", max*min);
       
system ("pause");

return 0;
}


[Vrh]
Korisnički profil Pošaljite privatnu poruku
ante003
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 10. 2008. (17:45:10)
Postovi: (3C5)16
Spol: muško
Sarma = la pohva - posuda
24 = 71 - 47

PostPostano: 13:52 pet, 22. 10. 2010    Naslov: Citirajte i odgovorite

[code:1]if (min=a1) min=a;
if (min=b1) min=b;
if (min=c1) min=c;
if (min=d1) min=d;
if (min=e1) min=e;

if (max=a1) max=a;
if (max=b1) max=b;
if (max=c1) max=c;
if (max=d1) max=d;
if (max=e1) max=e; [/code:1]

u if-u stavi min==b1, min==c1 itd. i radit ce ti
Kod:
if (min=a1) min=a;
if (min=b1) min=b;
if (min=c1) min=c;
if (min=d1) min=d;
if (min=e1) min=e;

if (max=a1) max=a;
if (max=b1) max=b;
if (max=c1) max=c;
if (max=d1) max=d;
if (max=e1) max=e;


u if-u stavi min==b1, min==c1 itd. i radit ce ti



_________________
Ako ste previše otvorenog uma, ispast će vam mozak
------------------------------------------------------
Racunalo bez Windowsa je kao riba bez bicikla
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Buki
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 10. 2010. (20:15:17)
Postovi: (56)16
Sarma = la pohva - posuda
= 4 - 0

PostPostano: 14:06 pet, 22. 10. 2010    Naslov: Citirajte i odgovorite

bio si u pravu, sad radi!
zaboravio sam tu razliku između jednakosti i pridruživanja.
hvala ti!
bio si u pravu, sad radi!
zaboravio sam tu razliku između jednakosti i pridruživanja.
hvala ti!


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Joker
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 09. 2010. (10:19:16)
Postovi: (8C)16
Spol: žensko
Sarma = la pohva - posuda
= 11 - 11

PostPostano: 21:14 ned, 7. 11. 2010    Naslov: Citirajte i odgovorite

while(x!=0)
{printf("Ucitajte broj: ");
scanf("%d", &x);
i++;
if(x && x>max) max=x;
im=i;
}

sto znaci tocno ovaj dio [b]x && x>max[/b] ?
while(x!=0)
{printf("Ucitajte broj: ");
scanf("%d", &x);
i++;
if(x && x>max) max=x;
im=i;
}

sto znaci tocno ovaj dio x && x>max ?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Phoenix
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 05. 2010. (18:46:07)
Postovi: (164)16
Sarma: -

PostPostano: 21:19 ned, 7. 11. 2010    Naslov: Citirajte i odgovorite

"x && x>max" znači "ako je x različit od nule i ako je x veći od max".
Radi se o uvjetu koji ima operator && (AND), stoga oba "poduvjeta" moraju biti zadovoljena ("x" - da je x različit od nule i "x>max" - da je x veći od max).
"x && x>max" znači "ako je x različit od nule i ako je x veći od max".
Radi se o uvjetu koji ima operator && (AND), stoga oba "poduvjeta" moraju biti zadovoljena ("x" - da je x različit od nule i "x>max" - da je x veći od max).


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Joker
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 09. 2010. (10:19:16)
Postovi: (8C)16
Spol: žensko
Sarma = la pohva - posuda
= 11 - 11

PostPostano: 21:21 ned, 7. 11. 2010    Naslov: Citirajte i odgovorite

a jel bi bilo pogresno da samo stavimo u x>max?
a jel bi bilo pogresno da samo stavimo u x>max?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Phoenix
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 05. 2010. (18:46:07)
Postovi: (164)16
Sarma: -

PostPostano: 21:32 ned, 7. 11. 2010    Naslov: Citirajte i odgovorite

Moram biti iskren i priznati da ne znam o čemu se radi u zadatku. :oops:
No, pretpostavljam da bi bilo pogrešno to maknuti iz koda jer uvjet "x && x>max" i uvjet "x>max" su različiti (neće uvijek biti jednake istinitosti).
No, kada malo bolje promotrim tvoj kod i sjetim se tekstova ponekih zadataka koje sam vidio, pretpostavljam da se u zadatku (ili samo u toj petlji) traži da se učitavaju cijeli brojevi sve dok se ne unese nula, i onda program mora pronaći najveći učitani broj bez nule te redni broj tog broja... Zar ne? U tom slučaju je potrebno staviti "x && x>max" zato jer se može dogoditi da je nula uistinu najveći učitani broj, a to ne smije biti i traženi maksimum (program staje kada se učita nula).
Primjerice, program učita brojeve "-2 -8 -4 -11 0". Program treba odrediti da je maksimum broj -2, a bez uvjeta "x" (x različit od nule), ti ćeš dobiti da je maksimum 0. I imaš krivo rješenje.

Možeš li reći odakle je taj kod ili barem staviti tekst zadatka?
Moram biti iskren i priznati da ne znam o čemu se radi u zadatku. Embarassed
No, pretpostavljam da bi bilo pogrešno to maknuti iz koda jer uvjet "x && x>max" i uvjet "x>max" su različiti (neće uvijek biti jednake istinitosti).
No, kada malo bolje promotrim tvoj kod i sjetim se tekstova ponekih zadataka koje sam vidio, pretpostavljam da se u zadatku (ili samo u toj petlji) traži da se učitavaju cijeli brojevi sve dok se ne unese nula, i onda program mora pronaći najveći učitani broj bez nule te redni broj tog broja... Zar ne? U tom slučaju je potrebno staviti "x && x>max" zato jer se može dogoditi da je nula uistinu najveći učitani broj, a to ne smije biti i traženi maksimum (program staje kada se učita nula).
Primjerice, program učita brojeve "-2 -8 -4 -11 0". Program treba odrediti da je maksimum broj -2, a bez uvjeta "x" (x različit od nule), ti ćeš dobiti da je maksimum 0. I imaš krivo rješenje.

Možeš li reći odakle je taj kod ili barem staviti tekst zadatka?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Joker
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 09. 2010. (10:19:16)
Postovi: (8C)16
Spol: žensko
Sarma = la pohva - posuda
= 11 - 11

PostPostano: 21:49 ned, 7. 11. 2010    Naslov: Citirajte i odgovorite

oprosti,uopce sam zaboravila da ni ne mozes znat o cemu se radi,XDD,samo sam napisala dio koda koji mi nije bio skroz jasan..=)

evo ovo je zadatak,inace iz skripte za programiranje 1:
[i]Napišite dio programa koji učitava cijele brojeve dok korisnik ne upiše nulu.Program treba ispisati vrijednost najvećeg učitanog broja,te koji je on (po redu) učitan.[/i]

hvala sto mi pomazes =)
oprosti,uopce sam zaboravila da ni ne mozes znat o cemu se radi,XDD,samo sam napisala dio koda koji mi nije bio skroz jasan..=)

evo ovo je zadatak,inace iz skripte za programiranje 1:
Napišite dio programa koji učitava cijele brojeve dok korisnik ne upiše nulu.Program treba ispisati vrijednost najvećeg učitanog broja,te koji je on (po redu) učitan.

hvala sto mi pomazes =)


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Phoenix
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 05. 2010. (18:46:07)
Postovi: (164)16
Sarma: -

PostPostano: 22:09 ned, 7. 11. 2010    Naslov: Citirajte i odgovorite

Da, to je to onda. Taj uvjet mora stajati jer se u zadatku traži najveći učitani broj koji nije nula te njegov redni broj.
Problem je u tome što u zadatku baš i ne piše da se nula isključuje pri traženju najvećeg broja. Ipak, program traži, citiram, [i]"vrijednost najvećeg učitanog broja"[/i], a koliko shvaćam, nula je također jedan od učitanih brojeva (makar imao ulogu da se njime prekida unos brojeva).
Da je u kojem slučaju nula bila dozvoljena, onda bi bilo dovoljno napisati "x>max". :)

I još jedna stvar koju moram primjetiti u tvom kodu...

[quote="Joker"]while(x!=0)
{printf("Ucitajte broj: ");
scanf("%d", &x);
i++;
[i] if(x && x>max) max=x;
im=i;[/i]
}
[/quote]

Mislim da bi trebalo napraviti sljedeću korekciju:

[quote="Joker"]while(x!=0)
{printf("Ucitajte broj: ");
scanf("%d", &x);
i++;
[i] if(x && x>max)
[b][color=red]{[/color][/b]
max=x;
im=i;
[b][color=red]}[/color][/b][/i]
}
[/quote]

S obzirom na to da tražiš redni broj najvećeg učitanog broja, trebalo bi staviti dodatne vitičaste zagrade tako da je i naredba "im=i;" dio if-a. Naime, ako nemaš te zagrade uz if, tada if-u pripada samo jedna naredba, i to ona prva naredba koja slijedi, a to je "max=x;". Stoga bi se naredba "im=i;" izvršavala pri svakom koraku while petlje, a to znači da varijabla "im" neće imati pohranjen redni broj traženog broja, već posljednju vrijednost broja "i", odnosno bit će jednaka broju učitanih brojeva.

P. S. Ja se ispričavam što sam ti se obraćao u muškom rodu. :oops:
Da, to je to onda. Taj uvjet mora stajati jer se u zadatku traži najveći učitani broj koji nije nula te njegov redni broj.
Problem je u tome što u zadatku baš i ne piše da se nula isključuje pri traženju najvećeg broja. Ipak, program traži, citiram, "vrijednost najvećeg učitanog broja", a koliko shvaćam, nula je također jedan od učitanih brojeva (makar imao ulogu da se njime prekida unos brojeva).
Da je u kojem slučaju nula bila dozvoljena, onda bi bilo dovoljno napisati "x>max". Smile

I još jedna stvar koju moram primjetiti u tvom kodu...

Joker (napisa):
while(x!=0)
{printf("Ucitajte broj: ");
scanf("%d", &x);
i++;
if(x && x>max) max=x;
im=i;

}


Mislim da bi trebalo napraviti sljedeću korekciju:

Joker (napisa):
while(x!=0)
{printf("Ucitajte broj: ");
scanf("%d", &x);
i++;
if(x && x>max)
{
max=x;
im=i;
}

}


S obzirom na to da tražiš redni broj najvećeg učitanog broja, trebalo bi staviti dodatne vitičaste zagrade tako da je i naredba "im=i;" dio if-a. Naime, ako nemaš te zagrade uz if, tada if-u pripada samo jedna naredba, i to ona prva naredba koja slijedi, a to je "max=x;". Stoga bi se naredba "im=i;" izvršavala pri svakom koraku while petlje, a to znači da varijabla "im" neće imati pohranjen redni broj traženog broja, već posljednju vrijednost broja "i", odnosno bit će jednaka broju učitanih brojeva.

P. S. Ja se ispričavam što sam ti se obraćao u muškom rodu. Embarassed


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na 1, 2, 3, 4, 5, 6, 7  Sljedeće
Stranica 1 / 7.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan