Pinky2 Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 (endret) #include <iostream> using namespace std; void main() { const int antallTemperaturer = 5; double dognTemperaturer[antallTemperaturer]; double SnittTemp = 0.0; cout << "Oppgi " << antallTemperaturer << " temperaturer: \n"; for(int i = 0; i < dognTemperaturer; ++i){ cout << "Dag " << i+1 << ": "; cin >> dognTemperaturer; } cout << "\n\n"; for(int i = 0; i < antallTemperaturer; ++i) SnittTemp += (dognTemperaturer / antallTemperaturer); cout << "Snitt-temperatur er : " << SnittTemp << "\n\n"; system("pause"); } // main Hvorfor fungerer det ikke ? Det skal også vise laveste og høyeste temperatur..jeg klikker snart nå..er evig takknemlig hvis noen kan hjelpe meg med dette.. Endret 12. mars 2009 av Pinky2 Lenke til kommentar
bjaanes Skrevet 11. mars 2009 Del Skrevet 11. mars 2009 (endret) Bytt ut for(int i = 0; i < dognTemperaturer; ++i){ Med for(int i = 0; i < antallTemperaturer; ++i){ Regner med at du ser grunnen selv? Endret 11. mars 2009 av bjaanes Lenke til kommentar
Pinky2 Skrevet 11. mars 2009 Forfatter Del Skrevet 11. mars 2009 (endret) Ok, hva er enkleste måten å få programmet til¨å vise minimums- og maksimumstemperaturen? Bytt ut for(int i = 0; i < dognTemperaturer; ++i){ Med for(int i = 0; i < antallTemperaturer; ++i){ Regner med at du ser grunnen selv? Ja, ser det nå Takk Endret 11. mars 2009 av Pinky2 Lenke til kommentar
bjaanes Skrevet 12. mars 2009 Del Skrevet 12. mars 2009 (endret) Det er nok flere måter å gjøre det på, men dette er en måte: #include <iostream> using namespace std; void main() { const int antallTemperaturer = 5; double dognTemperaturer[antallTemperaturer]; double minTemp = 0.0; double maxTemp = 0.0; double SnittTemp = 0.0; cout << "Oppgi " << antallTemperaturer << " temperaturer: \n"; for(int i = 0; i < antallTemperaturer; ++i){ cout << "Dag " << i+1 << ": "; cin >> dognTemperaturer[i]; if(i == 0) { minTemp = dognTemperaturer[i]; maxTemp = dognTemperaturer[i]; } else { if(dognTemperaturer[i] < minTemp) { minTemp = dognTemperaturer[i]; } if(dognTemperaturer[i] > maxTemp) { maxTemp = dognTemperaturer[i]; } } } cout << "\n\n"; for(int i = 0; i < antallTemperaturer; ++i) SnittTemp += (dognTemperaturer[i] / antallTemperaturer); cout << "Snitt-temperatur er : " << SnittTemp << "\n\n"; cout << "Maxtemperaturen er : " << maxTemp << "\n"; cout << "Mintemperaturen er : " << minTemp << "\n\n"; system("pause"); } // main Det jeg egentlig har gjort er å legge til verdier som sier max og min temperatur: double minTemp = 0.0; double maxTemp = 0.0; Deretter har jeg sagt at i hver loop som går (der hvor du henter ut temperaturene), så går denne koden: if(i == 0) { minTemp = dognTemperaturer[i]; maxTemp = dognTemperaturer[i]; } else { if(dognTemperaturer[i] < minTemp) { minTemp = dognTemperaturer[i]; } if(dognTemperaturer[i] > maxTemp) { maxTemp = dognTemperaturer[i]; } } Til slutt viser man temperaturene sånn: cout << "Maxtemperaturen er : " << maxTemp << "\n"; cout << "Mintemperaturen er : " << minTemp << "\n\n"; Til slutt vil jeg også nevne at en annen måte å gjøre dette på er med vectorer. Vector er en container som du kan gjøre mye lurt med (i motsetning til arrays). Les litt om Vectorer og algoritmer (Les: Google "C++ Vector") Endret 12. mars 2009 av bjaanes Lenke til kommentar
Pinky2 Skrevet 12. mars 2009 Forfatter Del Skrevet 12. mars 2009 bjaanes: Det var en utrolig genial måte å gjøre det på! "Enkelt" og greit uten masse unødvendige koder. Takker Lenke til kommentar
Dead_Rabbit Skrevet 14. mars 2009 Del Skrevet 14. mars 2009 Enig i at std::vector hadde vært det beste. Dytta alt på en vector og brukt std::min_element og std::max_element f.eks.: http://www.cppreference.com/wiki/stl/algorithm/min_element http://www.cppreference.com/wiki/stl/algorithm/max_element Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå