meph!sto
Vice Admiral
- Registriert
- Nov. 2003
- Beiträge
- 6.287
Hi,
Ich muss für die FH ein Programm schreiben. Dieses Programm muss folgendes machen:
- Messwerte in einem Array1 speichern, welche der User selbst eingibt
- dieses Array1 als Parameter an eine Funktion übergeben
- die Funktion soll dann den gleitenden Mittelwert berechnen und in einem Array2 zurückgeben
Das Prinzip versteh' ich, nur krieg ich die Syntax einfach nicht hin.
Ich habe in Visual Studio dazu 2. *.cpp Dateien angelegt, einmal die main.cpp und einmal die funktion.cpp
main.cpp (nicht wundern, ich habe eine Begrenzung auf 20 Messwerte eingebaut):
funktion.cpp:
Irgendwas fehlt da, nur komm' ich einfach nicht drauf.
Ich möchte nicht dass mir jmd. einfach den Code hinklatscht, denn das bringt mir 0.
Ich such nach einer Hilfe, die mir das verständlich erklärt (bin eine absolute Niete, was Programmieren angeht).
Danke !
Edit: nun schmiert mir das Programm ab, mit einer Meldung von irgendwelchen Zugriffverletzungen....
Ich muss für die FH ein Programm schreiben. Dieses Programm muss folgendes machen:
- Messwerte in einem Array1 speichern, welche der User selbst eingibt
- dieses Array1 als Parameter an eine Funktion übergeben
- die Funktion soll dann den gleitenden Mittelwert berechnen und in einem Array2 zurückgeben
Das Prinzip versteh' ich, nur krieg ich die Syntax einfach nicht hin.
Ich habe in Visual Studio dazu 2. *.cpp Dateien angelegt, einmal die main.cpp und einmal die funktion.cpp
main.cpp (nicht wundern, ich habe eine Begrenzung auf 20 Messwerte eingebaut):
Code:
#include <iostream>
#include <iomanip>
using namespace std;
void mittelwert (int a, double w[], double x[]);
int main()
{
//int const max=20;
double messwerte[20]={0};
int anzahl;
char wiederholen;
do
{
cout<<" Wieviele Messwerte liegen vor ?";
cin>>anzahl;
if (anzahl>20) // Abfragen ob >20
{
cout<<" Begrenzung auf 20 Messwerte!\n ";
anzahl=20;
}
else
cout<<" Messwerte eingeben "; // Werteingabe
for (int i=0;i<anzahl;i++)
cin>>messwerte[i];
for (int i=0;i<anzahl;i++) // Werteausgabe
cout<<setw(2)<<messwerte[i]<<" ";
cout<<endl;
mittelwert(anzahl,messwerte,0);
cout<<"Die gleitenden Mittelwerte lauten: ";
for (int i=0;i<anzahl;i++) // Werteausgabe
cout<<setw(2)<<messwerte[i]<<" ";
cout<<" Wiederholen ? (j)a, (n)ein ?";
cin>>wiederholen;
}while(wiederholen=='j');
}
funktion.cpp:
Code:
#include <cmath>
using namespace std;
void mittelwert (int n, double w[], double x[])
{
w[0] = x[0];
w[n-1] = x[n-1];
for (int i=1;i<(n-2);i++)
w[i]=(x[i-1]+x[i]+x[i+1])/3;
}
Irgendwas fehlt da, nur komm' ich einfach nicht drauf.
Ich möchte nicht dass mir jmd. einfach den Code hinklatscht, denn das bringt mir 0.
Ich such nach einer Hilfe, die mir das verständlich erklärt (bin eine absolute Niete, was Programmieren angeht).
Danke !
Edit: nun schmiert mir das Programm ab, mit einer Meldung von irgendwelchen Zugriffverletzungen....
Zuletzt bearbeitet: