Gå til innhold

Problem med program..får feilmelding(løst)


Anbefalte innlegg

#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 av Pinky2
Lenke til kommentar
Videoannonse
Annonse

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å :blush: Takk :)

Endret av Pinky2
Lenke til kommentar

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 av bjaanes
Lenke til kommentar
  • 11 måneder senere...

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...