Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Mar 2008

Hjälp med float-uppgift

Jag är nybörjare med programmering och allt vad det innebär. Hursomhelst så tilldelades vi följande uppgift:

Skriv ett program som gör samma beräkning som i uppgift2. Här skall dock en funktion användas för att ta emot de inmatade talen, beräkna medelvärde samt skicka tillbaka svaret till huvudprogrammet och skriva ut det där. Funktionen ser ut på följande sätt.

float medelv(float t1, float t2, float t3, float t4)

I och med att jag nyss börjat så har jag ingen aning om vad allt det där innebär (ungefär...) men har ändå lyckats få fram detta:

#include <iostream>
#include <iomanip>
float medelv(float t1, float t2, float t3, float t4);
using namespace std;
int main()
{
float tal1, tal2, tal3, tal4, resultat, resultat2;
cout << "Räkna ut medelvärdet av fyra decimaltal. \n \nSkriv in det första talet: ";
cin >> tal1;
cout << "Skriv in det andra talet: ";
cin >> tal2;
cout << "Skriv in det tredje talet: ";
cin >> tal3;
cout << "Skriv in det fjärde talet: ";
cin >> tal4;
resultat=tal1+tal2+tal3+tal4;
resultat2=resultat/4;
cout << endl << "RESULTAT" << endl << "=================== \n" << endl;
cout << fixed;
cout << "Medelvärdet är " << setprecision (1) << resultat2;
getchar();
cin.ignore();
return 0;
}

float medelv(float t1, float t2, float t3, float t4);
{
float resultat2;
reultat2=resultat/4;
return(resultat2);
}

Uppenbarligen är något fel, så nu sitter jag och förbereder mig inför sågning.

Kan tillägga att denna "uppgift2" är fljande:

Uppgift2)
Skriv ett program där du matar in fyra st. flyttal. Programmet skall sedan räkna ut ett medelvärde för talen och skriva ut svaret med en decimal.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2007

Re: Hjälp med float-uppgift

Citat:

Ursprungligen inskrivet av surhetsreglerad
Uppenbarligen är något fel, ...

Det är inte alls uppenbart.
Misstänker dock att du fullständigt missupfattat det här med funktioner och hur variabler finns tillgängliga i olika så kallade scopes. Läs på i din kurslitteratur om funktioner (och scopes), det är så grundläggande att det måste du nog lära dig snarast.

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

float medelv(float t1, float t2, float t3, float t4); { sum = t1 + t2 + t3 + t4; return(sum /4): }

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Medlem
Plats
127.0.0.1
Registrerad
Sep 2003

float sum= ... kanske?

1: Intel i7-3930K | 32GB Corsair Dominator GT | Asus Rampage IV Extreme x79 | 2 x 1080 GameRock Premium 8GB | 2 x Samsung Pro 840 512GB | Corsair AX1200i | BenQ XL2411 24" / W1070 135" | Bose QC25 | Windows 10 Pro x64 | HTC Vive |
2: Intel Core i7-4700HQ | 32GB RAM | Intel HM87 Express | GTX 780M | 17" | Windows 10 x64 |

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

Oj, blandade lite olika språk:P

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Mar 2008

Re: Re: Hjälp med float-uppgift

Citat:

Ursprungligen inskrivet av You
Det är inte alls uppenbart.
Misstänker dock att du fullständigt missupfattat det här med funktioner och hur variabler finns tillgängliga i olika så kallade scopes. Läs på i din kurslitteratur om funktioner (och scopes), det är så grundläggande att det måste du nog lära dig snarast.

Tänkte mer på att det stod error när jag skapade den. Tack för inlägget!

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Mar 2008
Citat:

Ursprungligen inskrivet av KurreKula
Oj, blandade lite olika språk:P

Så din kod är lite fel?

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

float medelv(float t1, float t2, float t3, float t4); { float sum = t1 + t2 + t3 + t4; return(sum /4): }

ska det va

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Mar 2008

Tackar!

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

snyggare vore dock: (Kan ej c++ så skriver c#, nån kan säkert översätta)

float medelv(IList<int> _Values); { return (_Values.Sum() /_Values.Count): }

Anropas via

float medel = medelv(new List<int>(){5, 4,3, 7});

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Medlem
Plats
127.0.0.1
Registrerad
Sep 2003
Citat:

Ursprungligen inskrivet av KurreKula
snyggare vore dock: (Kan ej c++ så skriver c#, nån kan säkert översätta)

float medelv(IList<int> _Values); { return (_Values.Sum() /_Values.Count): }

Anropas via

float medel = medelv(new List<int>(){5, 4,3, 7});

okey, men kanske om du deklarerar din lista med float ist för int då

1: Intel i7-3930K | 32GB Corsair Dominator GT | Asus Rampage IV Extreme x79 | 2 x 1080 GameRock Premium 8GB | 2 x Samsung Pro 840 512GB | Corsair AX1200i | BenQ XL2411 24" / W1070 135" | Bose QC25 | Windows 10 Pro x64 | HTC Vive |
2: Intel Core i7-4700HQ | 32GB RAM | Intel HM87 Express | GTX 780M | 17" | Windows 10 x64 |

Trädvy Permalänk
Medlem
Plats
Bromma
Registrerad
Aug 2008

Haha, är trött

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Trädvy Permalänk
Medlem
Plats
Laholm
Registrerad
Okt 2005

Lite finare C# syntax...

public static float Average(params float[] values) { float sum = 0.0f; foreach(float value in values) { sum += value; } return sum / values.Length; }

Sen kan man kalla på funktionen såhär:

float average = Average(1,2,3,4,5,6,7,8,9,10);

Googlade lite och hittade en vettig artikel...

http://weblogs.asp.net/whaggard/archive/2004/07/03/172616.asp...

ASP.NET programmerare i C#
Twitter: http://www.twitter.com/hagbarddenstore

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007

och så python!

def medelv(*tal): return sum(tal) / len(tal)

Bilanaloger är som Volvo — varenda svenne kör med dem