Inlägg

Inlägg som SWEGreven har skrivit i forumet
Av SWEGreven
Skrivet av perost:

Inget ändras i ditt program om du tar bort dessa rader, de har som sagt ingen som helst effekt. Minne för stad.stadNamn och stad.temperatur allokeras när stad-objektet skapas, så du behöver inte göra någonting för att kunna använda dessa variabler.

Jaaaaaaaa men juste.... Omg... Nu föll polletten ner! xD

Av SWEGreven
Skrivet av perost:

@SWEGreven: Dessa rader gör i praktiken ingenting, så du kan ta bort dem utan att ändra på programmet. Det är samma som t.ex.:

int x; x; // <- Giltig C++, men har ingen effekt

Din kompilator borde varna för detta, om den inte gör det så bör du kolla om du kan slå på fler varningar.

Dina kommentarer om att du skapar objekt på dessa rader är också fel. När du deklarerar en variabel av typen Stad så skapas hela objektet direkt, du behöver inte göra något mer med dem.

Ok tack!!

Men om jag tar bort dessa rader ( stad.stadNamn och stad.temperatur) vars och hur ska jag då kunna lagra olika temperaturer och städer?

Av SWEGreven
Skrivet av perost:

antalStader[9] är det 10:e elementet i arrayen antalStader. Vill du skicka hela arrayen till en funktion så använder du bara antalStader.

Tillägg: Jag läste nog lite hastigt, du har många andra problem i koden. Här är en lista på några av dem:

  • rad 7-8: Varför innehåller klassen Stad arrayer med namn och temperaturer? Om den heter Stad så borde den väl representera en stad och inte flera städer.

  • rad 10: Loopa så länge som i är mindre än temperatur[i]? Du vill väl snarare loopa över alla element i arrayerna.

  • rad 34-35: stad.stadNamn[9] skapar inte ett objekt som kommentaren säger, det hämtar det 10:e elementet i arrayen stad.stadNamn och gör sen inget med det. Dessa två rader har alltså ingen som helst effekt.

  • rad 36: Varför är antalStader en array?

  • rad 50: Varför lagrar du antalet städer i det sista elementet i antalStader? Återigen, varför är antalStader ens en array?

  • rad 107: Orsaken till att ditt anrop inte fungerar är för att städer inte är en array, den är bara ett Stad-objekt

Jag skulle rekommendera att du börjar med att skriva om Stad-klassen så att ett Stad-objekt representerar en stad och inte 10 städer. Om du behöver flera städer så bör du istället göra en array av Stad-objekt.

Du nämner på den här raden följande:
"rad 34-35: stad.stadNamn[9] skapar inte ett objekt som kommentaren säger, det hämtar det 10:e elementet i arrayen stad.stadNamn och gör sen inget med det. Dessa två rader har alltså ingen som helst effekt."

Innebär detta med "dessa två rader har ingen som helst effekt" att jag inte ska använda mig av dom överhuvudtaget? Alltså "stad.stadNamn" eller "stad.temperatur"? Utan att jag istället deklarerar typ en "StadNamn" via string och "temperatur" via float? (Eller var detta endast en antydan till mitt felaktiga påstående, om att jag skapar ett "Objekt" då jag egentligen inte gjorde det?)

Av SWEGreven
Skrivet av perost:

antalStader[9] är det 10:e elementet i arrayen antalStader. Vill du skicka hela arrayen till en funktion så använder du bara antalStader.

Tillägg: Jag läste nog lite hastigt, du har många andra problem i koden. Här är en lista på några av dem:

  • rad 7-8: Varför innehåller klassen Stad arrayer med namn och temperaturer? Om den heter Stad så borde den väl representera en stad och inte flera städer.

  • rad 10: Loopa så länge som i är mindre än temperatur[i]? Du vill väl snarare loopa över alla element i arrayerna.

  • rad 34-35: stad.stadNamn[9] skapar inte ett objekt som kommentaren säger, det hämtar det 10:e elementet i arrayen stad.stadNamn och gör sen inget med det. Dessa två rader har alltså ingen som helst effekt.

  • rad 36: Varför är antalStader en array?

  • rad 50: Varför lagrar du antalet städer i det sista elementet i antalStader? Återigen, varför är antalStader ens en array?

  • rad 107: Orsaken till att ditt anrop inte fungerar är för att städer inte är en array, den är bara ett Stad-objekt

Jag skulle rekommendera att du börjar med att skriva om Stad-klassen så att ett Stad-objekt representerar en stad och inte 10 städer. Om du behöver flera städer så bör du istället göra en array av Stad-objekt.

Tack!! Jag är som sagt nybörjare... Bara hållit på några veckor så jätteschysst att beskriva problemen! Så kan jag lära mig ännu mer! Tack!

Av SWEGreven
Skrivet av perost:

antalStader[9] är det 10:e elementet i arrayen antalStader. Vill du skicka hela arrayen till en funktion så använder du bara antalStader.

Hoppsan, jo såg det nu med.. Men även om jag ändrar i kod så bråkar den fortfarande i class "städer"... (No suitable conversion from "Stad" to "Stad *" exists)

Av SWEGreven

Hur anropar man en funktion med en "class array och float" parameter i C++?

Hej Sweclockers!

Håller på att programmera lite och är nästan färdig med min kod "TYP". Däremot har jag svårt för att fatta allting om "HUR" man anropar funktioner med olika parametrar... Speciellt när en parameter innehåller en class!

Ta Te.x denna line search funktionen:
float högstTemp(Stad städer[], int antal) // söker igenom vektorn med linsök metoden eftersson den är så liten
{
float result = städer[0].temperatur[9]; // initierar variabeln på temperaturens med första värden från arrayen
for (int i = 0; i < antal; i++) // lopa så länge i mindre än antal
{
if (result < städer[i].temperatur[i]) // kontrollerar om högre än senaste i result
result = städer[i].temperatur[i]; // om högre temp uppdatera result
}
return result; // returnera högsta temp.
}

Den ska anropas hit i main på något vis:
//float result = högstTemp(städer, antalStader[9]); // Här är mitt försök till att anropa högstTemp men får inte till det!
//cout << "\nH\x94gsta temperaturen finns p\x86: " << result; // Här ska resultatet printas ut

Hela koden i en pastebin ifall detta är intressant att kika på:
https://pastebin.com/KQ02Z3eS

Av SWEGreven

Hej! Har du detta skepp kvar? Är intresserad:)

Skickades från m.sweclockers.com

Av SWEGreven

Skärm blir svart vid inloggning efter installation utav drivrutin (Radeon 6850)

Precis som rubriken lyder blir min skärm helt svart! Detta sker efter jag installerat drivrutinen "12-8_vista_win7_win8_64_dd_ccc" från AMD hemsida, samt därefter ombeds att starta om datorn. Allting ser ut precis som vanligt! Men när man tagit sig förbi Windows 7 loggan och kommit till skrivbordet blir skärmen helt svart efter några sekunder. Jag måste då starta om datorn sedan gå in i "Felsäkert läge" för att avinstallera denna drivrutin. Sedan börjar allt om från början igen, moment 22.

Fråga 1: Har jag installerat fel drivrutin?
Fråga 2: Vilken drivrutin ska jag installera?
Fråga 3: Är detta vanligt förekommande problem, kan mitt grafikkort vara sönder?
Fråga 4: Kan det vara mitt moderkort som är känsligt? Inställning i BIOS?
Fråga 5: Har nån här haft ungefär samma problem och faktiskt hittat en lösning?

Vad jag har i datorn:
Moderkort: ASUS Maximus III Formula P55
Processor: Intel core i7 860 2,8GHZ
Grafikkort: AMD HD Radeon 6850
Minnen: Corsair 2x4GB, 1st Patriot 2GB
Hårddisk: Samsung SSD 830 128GB
DVD-läsare: Samsung Writemaster
Nätagg: ACE 400U 460w
Ljudkort: ESI Juli@

Vad jag har kopplat till datorn
Dataskärm: Eizo Foris FS2332
Tangentbord: Compaq (Old but gold)
Datamus: Razor Deathadder 3500
Hörlurar: Steelseries Siberia v2 Limited Edition

Värt att tillägga är att jag även nu prövade "12-6_vista_win7_64_dd_ccc" men samma resultat där.
Om kortet är sönder borde det inte då sluta fungera i felsäkert läge med?

Alla svar välkomnas!