Gå til innhold

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


Anbefalte innlegg

Skrevet (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 av Pinky2
Videoannonse
Annonse
Skrevet (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 av bjaanes
Skrevet (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å :blush: Takk :)

Endret av Pinky2
Skrevet (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 av bjaanes
Skrevet

bjaanes:

 

Det var en utrolig genial måte å gjøre det på! "Enkelt" og greit uten masse unødvendige koder. Takker :)

  • 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å
×
×
  • Opprett ny...