hallo,
ich versuche mich derzeit an einem programm welches von einer zahlenreihe den mittelwert und die standardabweichung berechnen soll, das programm ist syntaktisch richtig und scheint auch zu funktionieren aber ich verstehe nicht warum folgendes ergebnis auftritt wenn ich es ausführe:
mein quelltext dazu sieht wie folgt aus:Wie viele Messwerte sollen eingelesen werden?
4
Geben Sie bitte 4 Zahlen ein;
Mittelwert: 0.000000
Standardabweichung: 0.000000
main.cpp
calc.cpp#include "globals.h"
#include "calc.h"
void main ()
{
int i;
int n;
float *feld = NULL;
double mw = 0; // an dieser stelle wurde immer gewarnt dass mw und std nicht
initialisiert seien
double std = 0;
printf("Wie viele Messwerte sollen eingelsen werden?\n");
scanf_s("%d", &n);
printf("Geben Sie bitte %d Zahlen ein:\n", n);
feld =(float *)malloc (n*sizeof(float));
//ab hier bricht das programm ab
for (i = 0; n < i; i++)
{
scanf_s("%f", feld+1);
}
//Diese Abfrage wollte ich eigentlich auch verwenden allerdings hatte ich auch
hier fast das selbe Ergebnis bei der Ausgabe
/*if (feld != NULL)
{
mw = fkt_mw(feld,n);
std = fkt_std (feld,n);
}*/
printf("Mittelwert: %lf\n", mw);
printf("Standardabweichung: %lf\n", std);
free (feld);
getchar ();
getchar ();
}
globals.h#include "calc.h"
#include "globals.h"
double fkt_mw (float *feld, int n)
{
int i;
double mw; // Zuvor war mw hier auf 0 gesetzt das habe ich mal hier rausgenommen
for (i = 0; i < n; i++)
{
mw += (feld[i]);
}
mw = mw / n;
return (mw);
}
double fkt_std (float *feld, int n)
{
int i;
double mw, std;
//std = 0;
mw = fkt_mw(feld, n);
for (i = 0; i < n; i++)
{
std += (feld[i] - mw) * (feld[i] - mw);
}
std = std / n;
std = sqrt(std);
return (std);
}
calc.h#ifndef GLOBALS_INC
#define GLOBALS_INC
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#endif
wäre toll wenn da jemand für mich einen rat hätte.#ifndef CALC_INC
#define CALC_INC
#include "globals.h"
double fkt_mw (float *feld, int n);
double fkt_std (float *feld, int n);
#endif
gruß glen
+ Antworten
Ergebnis 1 bis 5 von 5
Berechnung liefert falsches Ergebnis (war: bin ratlos :-()
Diskussion über Berechnung liefert falsches Ergebnis (war: bin ratlos :-() in C++: Compiler, IDEs, APIs der Kategorie Programmierung; hallo, ich versuche mich derzeit an einem programm welches von einer zahlenreihe den mittelwert und die standardabweichung berechnen soll, das ...
- 10.12.2011 17:53 #1Reg.-Benutzer
- Reg.-Datum
- 26.10.2011
- Beiträge
- 7
Berechnung liefert falsches Ergebnis (war: bin ratlos :-()
- 10.12.2011 20:45 #2Reg.-Benutzer
- Reg.-Datum
- 24.11.2010
- Beiträge
- 183
Ich vermute mal dort soll i<n stehen und nicht n<i.for (i = 0; n < i; i++)
{
scanf_s("%f", feld+1);
}
Sicher dass "feld+1" richtig ist?Geändert von Servior (10.12.2011 um 20:48 Uhr)
- 11.12.2011 01:24 #3Reg.-Benutzer
- Reg.-Datum
- 26.10.2011
- Beiträge
- 7
wahnsinn dass hätte mir auffallen sollen! vor lauter wald die bäume nimmer gesehn^^
nun werden die werte eingelesen aber mittelwert und standardabweichung werden mit 0.000000 angegeben. nun konnte ich die initialisierung in der calc.cpp vornehmen für mw und std.
das feld+1 müsste eigentlich deshalb richtig sein weil ich ja mehrere werte einlesen will oder hast du da ne andere idee?
- 11.12.2011 01:47 #4
Administrator + Moderator
C++: Compiler, IDEs, APIs / C und C++, Algorithmik, Basic, Sonstige, .NET
- Reg.-Datum
- 10.07.2001
- Ort
- Essen
- Beiträge
- 8.980
"Funktioniert nicht" ist keine ausreichende Problembeschreibung.
- 11.12.2011 13:05 #5Reg.-Benutzer
- Reg.-Datum
- 26.10.2011
- Beiträge
- 7
ich gelobe besserung :-) es funktioniert nun vielen dank :-)
Aktive Benutzer
Aktive Benutzer
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Ähnliche Themen
-
Falsches Ergebnis bei einer Rechenoperation
Von tizian im Forum C und C++Antworten: 5Letzter Beitrag: 09.04.2008, 12:03 -
Ich bin Ratlos...
Von Grinse-Hinze im Forum WebdesignAntworten: 5Letzter Beitrag: 17.11.2006, 08:28 -
Ratlos
Von danielbaer im Forum Jobsuche, Bewerbung und ZeugnisseAntworten: 19Letzter Beitrag: 11.09.2004, 13:39 -
Ergebnis Berechnung ob bestanden oder net!
Von ThimschE im Forum IHK-Prüfung allgemeinAntworten: 1Letzter Beitrag: 13.05.2002, 14:08 -
Ratlos!?!
Von Traxim im Forum Ausbildung im IT-BereichAntworten: 5Letzter Beitrag: 04.01.2002, 07:42
Die häufigsten Suchbegriffe für diese Seite:
Bisher noch keine Treffer von einer Suchmaschine

LinkBack URL
About LinkBacks
Zitieren