» Mittelwert Funktion in C

Zeichenfolge in Großbuchstaben umwandeln (Funktion, Pointer,toupper)Neuen Thread eröffnenNeue Antwort erstellenDaten einlesen
AutorNachricht
Beobachter 
Anmeldedatum: 10.05.2009
Beiträge: 2
10.05.2009, 11:55
zitieren

Hallo,
ich bin nicht so gut in Programmieren. Möchte das lernen aber ich weiss nicht wie. Wir haben Programmieren C und C++ in der Schule aber irgend wie verstehe ich das nicht so. Vielleich irgend welche Tipps wie ich mitch verbessern kann oder allgemeich das ganze zu verstehen.
Ich habe auch bald Prüfungen und kann da eine Aufgabe nicht lösen. Vielleich kann mir da jemand helfe ??? :-(

Aufgabe:

Schreiben Sie eine Funktion "mittelwert", der man zwei Werte übergeben kann, und die dann den Mittelwert der beiden Werte zurückgibt.

Bitte in C.

Danke


pn
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52420
Wohnort: Lohmar


Meine eBay-Auktionen:
10.05.2009, 16:45
zitieren

Mittelwert = (Wert 1 + Wert 2) / 2

Ich denke die Funktion dazu kannst Du selber schreiben.

Um den Mittelwert zu verstehen, kannst Du hier mal schauen:
http://www.mathe-online.at/materialien/Franz.Embacher/files/mittelwert/mittelwert.html

Gruß


pn email
Beobachter 
Anmeldedatum: 10.05.2009
Beiträge: 2
10.05.2009, 19:50
zitieren

Danke für die Antwort.
Aber soweit bin ich auch gekmmen.
Eben die Funktionen zu schreiben liegt mir schwer.
Vielleich ein Tipp woran das liegen kann.
Über eine fertige Funktion würde mich sehr freuen.
Danke


pn
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52420
Wohnort: Lohmar


Meine eBay-Auktionen:
10.05.2009, 20:17
zitieren

Hilft Dir das?
http://de.wikibooks.org/wiki/C-Programmierung:_Funktionen

Gruß


pn email
Beobachter 

Anmeldedatum: 19.09.2011
Beiträge: 2
19.09.2011, 15:43
zitieren

hugo17elleicht hast du das jetzt schon längst hin bekommen, aber ich hätte da gerade noch ein Programm geschrieben das den Mittelwert einer unbestimmt langen zahlen reihe bestimmt. Allerdings nicht als Funktion, aber um das Prinzip zu verstehen.!!
mittelwert


 2x  bearbeitet
pn
Beobachter 
Anmeldedatum: 30.04.2012
Beiträge: 1
30.04.2012, 12:55
zitieren

falls nochmal jemand das gleiche Problem hat


#include <stdio.h>

main() {
int x,anzahl;
double zahl, summe=0.0, mittelw;
printf("\n\tMittelwert\n");
printf("Wie viele Werte wollen sie eingeben: ");
scanf("%i", &anzahl);
printf("\n");
for(x=1; x<=anzahl; x=x+1) {
printf("Bitte %i. Zahl eingeben: ", x);
scanf("%lf", &zahl);
summe=summe+zahl;
}
mittelw=summe/anzahl;
printf("\n\nSumme der Zahlen = %f",summe);
printf("\n\nMittelwert der Zahlen = %f", mittelw);
system("Pause");
return 0;
}


pn
Junior 
Name: Voller Name als Anagramm: Fitje Weshoms
Geschlecht:
Fahrzeug: Yamaha YZF R6 Thundercat
Anmeldedatum: 15.07.2012
Beiträge: 92
Wohnort: Amberg, Oberpfalz
28.07.2012, 08:32
zitieren

Zusammengestellt von Guiseppe

Zur Anmerkung. Hier mal eine kleine Übersicht von Mittelwerten.
Eigentlich wird der Mittelwert durch ein x dargestellt, auf dem ein
Querbalken ruht. Deshalb der Name xquer. Wird der Mittelwert aus
mehreren Mittelwerten gebildet, erhält er zwei Querstriche obenauf.
Genannt xquerquer.




Berechnung verschiedener Arten von Mittelwerten

Der bekannteste Mittelwert ist der arithmetische Mittelwert.
Seine Berechnung ist am einfachsten.
Arithmetischer Mittelwert = Summe aller Werte / Anzahl aller Werte
Beispiel: xquer = (x[0] + x[1] +x[2] +x[3] )/ (double)4;


Danach die anderen Mittelwerte:
Geometrisches Mittel: nte Wurzel aus dem Produkt aller Mittelwerte
Wobei n die Anzahl der Werte ist.
Beispiel:
xquer = pow ( (x[0]* x[1]*x[2]*x[3]), (1/(double)4) );


Nun das harmonische Mittel:
Anzahl aller Einzelwerte / Die Summe aller Kehrwerte der Einzelwerte
Beispiel:
xquer = n/ ( (1/x[0]) + (1/[x1]) + (1/x[2]) + (1/x[3]) + (1/x[4]));

Nun das quadratische Mittel:
Es ist die Quadratwurzel aus einem Quotienten, dessen Dividend aus der Summe
der quadierten Einzelwerte, und dessen Divisor aus der Anzahl der Einzelwerte besteht.

Beispiel:
Dividend = (x[0]*x[0] )+ (x[1]*x[1])+ (x[2]*x[2] )+ (x[3]*x[3])+ (x[4]*x[4]);
Divisor = n;
Quotient = Dividend / Divisor;
xquer = pow(Quotient, 0,5);

Merke:
Die nte Wurzel einer Zahl ist zu berechnen, wenn n mit dem Kehrwert der
Wurzel potenziert wird. Die xte Wurzel aus y ist y hoch (1/x).

Beispiel:

double xwurzely(double radikand, double wurzelexponent)
{
double wurzel, kehrwert;
if ((radikand ==0 ) || (wurzelexponent == 0)) goto finito;
kehrwert = 1/ wurzelexponent ;
wurzel =  pow(radikand, kehrwert)
finito: return wurzel;
}
Hier ein Beispielprogramm:

#include <stdio.h>
#include <conio.h>
#include <math.h>

double Mittelwert(double werte[], int anzahl, int Mittelwertart)
{
 int i;
 double xquer = 0;
 /* arithmetisch */
 if (Mittelwertart == 1)
  {
   for (i = 0; i < anzahl; i++)
    xquer += werte[i];
   xquer /= anzahl;
  }
 /*geometrisch*/
 if (Mittelwertart == 2)
  {
   xquer = 1;
   for (i = 0; i < anzahl; i++)
    xquer *= werte[i];
   xquer = pow(xquer, (1 / (double)anzahl));
  }
 /*harmonisch*/
 if (Mittelwertart == 3)
  {
   xquer = 0;
   for (i = 0; i < anzahl; i++)
    xquer += 1 / werte[i];
   xquer = (double)anzahl / xquer;
  }
 /*quadratisch*/
 if (Mittelwertart == 4)
  {
   xquer = 0;
   for (i = 0; i < anzahl; i++)
    xquer += (werte[i] * werte[i]);
   xquer /= (double)anzahl;
   xquer = pow(xquer, 0.5);
  }
return xquer;
}


void main(void)
{
int i;
double stichprobe[10], mittelwert;
printf("\nStatistik");
printf("\nBitte nacheinander 10 Werte eingeben:");

for (i = 0; i <= 9; i++)
 {
 printf("\nStichprobenwewrt Nr. %d: ", (i + 1));
 scanf("%lf", &stichprobe[i]);
 }
for (i = 0; i <= 9; i++)
  printf("\nStichprobenwert Nr. %d= %lf", i, stichprobe[i]);

mittelwert = Mittelwert(stichprobe, 10, 1); 
printf("\nArithmetischer qxuer = %lf", mittelwert);
mittelwert = Mittelwert(stichprobe, 10, 2); 
printf("\ngeometrischer qxuer = %lf", mittelwert);
mittelwert = Mittelwert(stichprobe, 10, 3); 
printf("\nharmonisches qxuer = %lf", mittelwert);
mittelwert = Mittelwert(stichprobe, 10, 4); 
printf("\nquadratisches qxuer = %lf", mittelwert);
printf("\nProgramm bitte mit Tasendruck beenden\n");
getch();
}
Der arithmetische Mittelwert spielt in der Qualitätskontrolle bei Produkten eine
wichtige Rolle. Er wird zur Berechnung der Standardabweichung der sogenannten
gaußschen Glocke gebraucht.
Zuerst werden die Werte in einer sogenannter Urwertkarte festgehalten. Urwerte
können diskrete(Zählung) oder kontinuierliche(Messung) Merkmale sein.
Aus diesen werden dann die Kennwerte der Proben berechnet, die dann zu Parametern,
welche die Eigenschaften der Grundgesamtheit aufzeigen, verarbeitet werden.
.
Die Standardabweichung gibt die Distanz zwischen Scheitelpunkt und den
Wendepunkt vom konvexen zum konkaven Teil der Kurve an.
Die Gaußsche Glocke besitzt nur einen Gipfel und verläuft
symmetrisch(= Normalverteilung).

Keine Angst, halb so wild. Wurde wegen eines Arbeitsunfalles zum
Qualitätsfachmann für Längenprüftechnik ausgebildet(ätzend!!!). Also, nur die
Programme nachmachen, nicht die Ausbildung(schwere Warnung!!).

Viel Spaß beim Programmieren
Guiseppe


 2x  bearbeitet

Verfasst am: 12.08.2012, 08:15
zitieren

Ein kleiner Nachtrag zum Thema Mittelwerte.

Beim letzten mal habe ich die sogenannte Standardabweichung
erwähnt, welche den Umkehrpunkt zwischen dem konvexen und
konkaven Teil der Gaussschen Glocke markiert.
Die Standardabweichung wird mit dem griechischen Buchstaben
Sigma dargestellt. Dazu muß zuerst der Mittelwert berechnet
werden. Von den vier Mittelwerten kommt nur der arithmetische
in Betracht.

Standardabweichung =
Wurzel aus ((x1-xquer)^2 +(x2-xquer)^2 (x3-xquer)^2+(x...-xquer)^2)/(n - 1)

Man zieht also von den Einzelwerten den Mittelwert ab und quadiert
deren Differenz. Dadurch werden negative Ergebnisse beim
subtrahieren wieder in positive Ergebnisse umgewandelt.
Nun summiert man diese "Quadrate".
Diese Summe wird jetzt durch "Anzahl der Werte - 1" geteilt.
Aus den daraus resultierenden Quotienten zieht man letztlich die
Quadratwurzel.
Quadiert man diese Standardabweichung, wenn man also die
Wurzelziehung unterlässt, erhält man die sogenannte
Varianz, welche nur für Stichproben aus der sogenannten
Grundgesamtheit gilt.
Verwendet wird so etwas, wenn man zum Beispiel eine neue
Fräsmaschine oder Drehmaschine erält. Dafür werden Probewerkstücke
gefertigt, mindestens 50 Serienteile ohne ungeplante Korrektur.
Aus den gemessenen Werten werden zuerst arithmetischer Mittelwert
und die Standardabweichung berechnet und der Werteverlauf
in Diagramme eingetragen, unter anderem in ein sogenanntes
Wahrscheinlichkeitsnetz.

Über den sogenannten 99%igen Zufallsstreubereich werden der

Maschinenfähigkeitsindex, und der kritische Maschinenfähigkeitsindex
berechnet.

Man nennt dies Kurzzeit,- oder Maschinenfähigkeitsanalyse.
Mit verschiedenen anderen Analysen wird später die Prozessfähigkeit
ermittelt, welche eine Langzeitanalyse darstellt.
Benötigt wird sowas um zum Beispiel die Eigenschaften einer
Grundgesamtheit, also einer Lieferung von Teilen insgesamt zu
beurteilen, um mit Stichproben den Prozessverlauf zu analysieren.
Eine 100-prozentige Überprüfung ist meist viel zu aufwendig und
zu teuer. Deswegen hat man solche Methoden zur Analyse entwickelt:

100-prozentige Überprüfung = beschreibende Statistik
Stichprobenartige Überprüfung = Induktive oder schließende Statistik

Ein erweitertes Beispielprogramm also hier:

#include <stdio.h>
#include <conio.h>
#include <math.h>

double Mittelwert(double werte[], int anzahl, int Mittelwertart)
{
 int i;
 double xquer = 0;
 /* arithmetisch */
 if (Mittelwertart == 1)
  {
   for (i = 0; i < anzahl; i++)
    xquer += werte[i];
   xquer /= anzahl;
  }
 /*geometrisch*/
 if (Mittelwertart == 2)
  {
   xquer = 1;
   for (i = 0; i < anzahl; i++)
    xquer *= werte[i];
   xquer = pow(xquer, (1 / (double)anzahl));
  }
 /*harmonisch*/
 if (Mittelwertart == 3)
  {
   xquer = 0;
   for (i = 0; i < anzahl; i++)
    xquer += 1 / werte[i];
   xquer = (double)anzahl / xquer;
  }
 /*quadratisch*/
 if (Mittelwertart == 4)
  {
   xquer = 0;
   for (i = 0; i < anzahl; i++)
    xquer += (werte[i] * werte[i]);
   xquer /= (double)anzahl;
   xquer = pow(xquer, 0.5);
  }
return xquer;
}

double Standardabweichung(double stichprobe[], int anzahl, int mittelwertart)
{
int wertnr;
double sigma, varianz, differenz, quadratsumme, quadrat,xquer;
xquer = Mittelwert(stichprobe, anzahl, mittelwertart);
sigma = varianz = quadratsumme = differenz = 0;
for (wertnr = 0; wertnr < anzahl; wertnr++)
 {
  differenz = stichprobe[wertnr] - xquer;
  quadrat = differenz * differenz;
  quadratsumme += quadrat;
 }
varianz = quadratsumme / (anzahl - 1);
sigma = pow(varianz, 0.5);
return sigma;
}

int main(void)
{
int i;
double stichprobe[10], mittelwert, stabw;
printf("\nStatistik");
printf("\nBitte nacheinander 10 Werte eingeben:");

for (i = 0; i <= 9; i++)
 {
 printf("\nStichprobenwert Nr. %d: ", (i + 1));
 scanf("%lf", &stichprobe[i]);
 }
for (i = 0; i <= 9; i++)
  printf("\nStichprobenwert Nr. %d= %lf", i, stichprobe[i]);

mittelwert = Mittelwert(stichprobe, 10, 1);
printf("\n\nArithmetischer qxuer =   %lf", mittelwert);
mittelwert = Mittelwert(stichprobe, 10, 2);
printf("\ngeometrischer qxuer =    %lf", mittelwert);
mittelwert = Mittelwert(stichprobe, 10, 3);
printf("\nharmonisches qxuer =     %lf", mittelwert);
mittelwert = Mittelwert(stichprobe, 10, 4);
printf("\nquadratisches qxuer =    %lf", mittelwert);
stabw=Standardabweichung(stichprobe, 10, 1);
printf("\nStandardabweichung arithmetisch: %lf", stabw);
stabw=Standardabweichung(stichprobe, 10, 2);
printf("\nStandardabweichung geometrisch   %lf", stabw);
stabw=Standardabweichung(stichprobe, 10, 3);
printf("\nStandardabweichung harmonisch    %lf", stabw);
stabw=Standardabweichung(stichprobe, 10, 4);
printf("\nStandardabweichung quadratisch   %lf", stabw);
printf("\nProgramm bitte mit Tasendruck beenden\n");
getch();
return 0;
}
So, jetzt genug mit Statistik
viel Spaß beim Programmieren, Guiseppe

 1x  bearbeitet
pn
Gast 
12.08.2012, 08:15
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "Mittelwert Funktion in C" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
 Ich brache hilfe bei C++ esgeht um einer Aufgabe (Mittelwert aller Werte.....
Aufgabestellung habe ich als PDF hochgeladen!!! die ausgabe ist das Problem -alle Mittel Werte , die zwieschen den unteren und oberen...
[C]von Bub
1
683
17.11.2012, 19:53
Guiseppe
LSD Funktion
Wollte mal wissen ob irgendjemand von euch weiß wie man herausfindet ob das LSD so funktioniert wie es soll? Oder könnte man sonst überhaupt nicht fahren. Wie weiß ich ob das LSD wirklich jetzt sperrt oder...
von Honda_Civic_Boy_VB
4
354
29.09.2011, 10:35
Honda_Civic_Boy_VB
Problem mit PN funktion
Hallo Leute, Bekam von dem User AndreasRoedel eine PM, weil er sich für meinen Civic interessiert. Als flink antworten dachte ich. Jedoch kommt dann auf einmal die Meldung der Benutzer exisiterit nicht. Okay dachte ich, dann schaust mal in die Suche und...
von Mitsupichu
1
147
03.09.2012, 13:23
DarkAngel1977
array in funktion
Hallo , ich möchte 4 zahlen nach der Größe sortieren, das ist für mich Jetzt kein Problem, allerdings möchte ich die Sortierung in einer Funktion machen. Aber die zahlen sollen trotzdem in der main ausgegeben werden also call by reference, kann mir...
[C++]von arti1012
1
368
28.06.2015, 13:33
arti1012
Sound Off Funktion
hätte da mal ne kleine Anregung. Die Chat Sounds können einem Teilweise echt auf den Geist gehen :yes: Ich weis nicht wie oft ich mich zu Tode erschrecke, weil ich den Chat im Hintergrund habe und auf einmal son Sound kommt! Meistens hatte ich dann...
von HugoFreund
3
360
07.06.2011, 20:20
Pumsti
Contents Funktion
Hallo, ist es irgendiwe möglich in PMWiki eine art contents funktion (wie z.B. im MediaWiki das die "Überschriften" automatisch am seitenanfang in ner contents-box zusammengefasst werden) einzubauen? Vielleicht gibt es ja auch schon eine...
von qrawl
0
1.259
19.09.2007, 14:36
qrawl
Airbag Funktion
Hallo, kann mir mal einer sagen wie unser Airbag ausgelöst wird? Dafür muss es ja ein Aufprallsensor geben, wo sitzt dieser und wie funktioniert...
von Ingo01
3
221
10.11.2016, 16:20
stussy
ZV ohne Funktion
Hallo, ich habe das Problem, das mein ZV mit einen Schlüssel nicht Funktioniert, ich weiß von anderen Hersteller das man Schlüssel anlernen, codieren muss, habe vor drei Wochen einen komplett reset durchgefürt, gibt es sowas auch bei Honda und wie geht...
von wund
1
1.969
23.02.2011, 21:20
Spink
Drehzahlmesser funktion ed6
Hallöchen, weiß jemand iwe der drehzahlmesser aufgebaut ist? Sprich wo der geber (sensor ist). Ich hab nämlich das problem das er absolut gar nicht funzt... Vieleicht hat ja jemand nen paar...
von Tarique
6
2.133
29.10.2005, 08:51
Ed6er
LWR ohne Funktion
Salve zusammen, kürzlich hat die Leuchtweitenregulierung auf der Beifahrerseite aufgegeben. Heute ist mir aufgefallen, daß es auch die linke nicht mehr tut. Vor zwei Wochen ging wenigstens diese noch... Wie gehe ich am besten auf Fehlersuche? Das WHB hat...
von LSi
3
464
13.02.2013, 22:04
white*angel
© 2004 - 2025 www.programmierer-forum.de | Communities | Impressum |