C++ minimalni broj u nizu- problem

poruka: 3
|
čitano: 2.082
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
10 godina
neaktivan
offline
C++ minimalni broj u nizu- problem

Pozdrav, radim zadatak u kojem u nizu moramo ispisati minimalni i maksimalni broj, i jos par stvari. Sve je uredu, maximalni cita fino, ali za minimalni mi uvijek prikazuje 0, sta god da probam. Imate li neku sugestiju?

Kod:

#include <iostream>
using namespace std;

int main(){
   int i;
   int n;
   int godina;
   const int brmjeseci=12;
   double temp[brmjeseci];
   double min=temp[0];
   double max=temp[0];
   cout<<"Molim Vas, unesite godinu: "<<endl;
   cin>>godina;
   for(n=1;n<=12;n++){
      cout<<"Unesite prosjecnu temperaturu za "<<n<<" mjesec:"<<endl;
      cin>>temp[n];
   }
   for (i = 1; i <= 12; i++)
    {
      if (temp[i] > max)
        {
          max = temp[i];
        }
       if(temp[i]<min)
        {
          min = temp[i];
        }
    }
   
   cout<<"Najmanja temp je "<<min<<endl;
   cout<<"Najveca temp je "<<max<<endl;
   
   return 0;
}

Kebab
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: C++ minimalni broj u nizu- problem

Stavi inicijalizaciju min,max nakon unosa, odnosno prije for petlje.

Kada kažeš double min=temp[0] postaviš varijablu min na vrijednost polja prvog člana polja temp prije nego uneseš išta u polje odnosno 0.

 

U prijevodu kažeš da je min vrijednosti 0 i ako ne nađeš vrijednost veću od 0 ostat će nula 

 

 

 

 

 

...
12 godina
offline
C++ minimalni broj u nizu- problem

Greška je jer si inicijalizirao min i max na nepostojeće vrijednosti u polju temp...njih trebaš inicijalizirati na neke vrijednosti unutar polja nakon što se polje popuni.

 

Inače par savjeta:

 

- double tip podataka ti ne treba jer ga pri računanju sa temperaturama sigurno nečeš koristiti (osim ako ne tražiš preciznost na 5+ decimala), a samo zauzima više memorije,

- u C++ je baza u poljima 0 i toga se probaj čim više držati jer ako se ikad budeš ozbiljnije bavio C++om izgorit ćeš ako budeš koristio bazu 1,

- također, probaj koristiti što manje varijabli, pogotovo za za petlje, jer ćeš se u malo većem kodu izgubiti u cnt1++, cnt2++ i sl.

 

EDIT: dodano efikasnije rješenje, sa jednom petljom

Poruka je uređivana zadnji put pon 5.10.2020 1:01 (FileFicho).
Moj PC  
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice