Guten Tag,
ich bin neu hier und hoffe durch diese Community ein besseres Verständnis für die Programmiersprache C++ zu bekommen.
Zu dem Programm:
Ich habe als Aufgabenstellung (Fachhochschule) ein Programm zu erstellen, welches die Y-Werte für ein Polynom n-ten Grades ausrechnet und damit dann eine Kurvendiskussion anfertige.
Zu meinem Problem.
Ich möchte einen Vektor mit den X-Werten an eine Funktion übergeben. In der Funktion soll dann mit den X-Werten, die entsprechenden Y-Werte ausgerechnet werden.
Beim Übergeben des Vektors (vektorx) an die Funktion (BerechnungY) erhalte ich folgenden Fehler:
error C2664: 'BerechnungY': Konvertierung des Parameters 1 von 'float [21]' in 'float' nicht möglich
Das selbe ist beim Rückgabewert der Fall. Hier erhalte ich einen ähnlichen Fehler wenn ich die Y-Werte (vektory) zurückgeben möchte:
error C2440: 'return': 'float [21]' kann nicht in 'float' konvertiert werden
Die Main-Funktion:
Die Unterfunktion:
Ich wäre für jeder Hilfe, zu der Lösung dieses Problems dankbar.
Mit freundlichen Grüßen
Matze
ich bin neu hier und hoffe durch diese Community ein besseres Verständnis für die Programmiersprache C++ zu bekommen.
Zu dem Programm:
Ich habe als Aufgabenstellung (Fachhochschule) ein Programm zu erstellen, welches die Y-Werte für ein Polynom n-ten Grades ausrechnet und damit dann eine Kurvendiskussion anfertige.
Zu meinem Problem.
Ich möchte einen Vektor mit den X-Werten an eine Funktion übergeben. In der Funktion soll dann mit den X-Werten, die entsprechenden Y-Werte ausgerechnet werden.
Beim Übergeben des Vektors (vektorx) an die Funktion (BerechnungY) erhalte ich folgenden Fehler:
error C2664: 'BerechnungY': Konvertierung des Parameters 1 von 'float [21]' in 'float' nicht möglich
Das selbe ist beim Rückgabewert der Fall. Hier erhalte ich einen ähnlichen Fehler wenn ich die Y-Werte (vektory) zurückgeben möchte:
error C2440: 'return': 'float [21]' kann nicht in 'float' konvertiert werden
Die Main-Funktion:
C++:
#include <stdio.h>
#include <math.h>
float BerechnungY (float, int, int);
void main (){
int a_n, i;
////////////////////////Eingabe von a
printf("Polynomberechnung n-ten Grades \n\n");
printf("Polynom welchen Grades?: "); scanf_s("%d", &a_n); //Eingabe welchen Grades das Polynom ist
a_n=a_n+1;
int* a= new int[a_n];
i=a_n;
while(0<i){
i--;
printf("Eingabe der %d", i); printf(". Stelle:"); scanf_s("%d", &a[i]);
}
////////////////////////Eingabe von X
int x_n;
int range;
printf("\nBitte Wert fuer x eingeben \n\n");
scanf_s("%d", &x_n);
int x=x_n;
x_n=2*x_n+1;
range=x*(-1);
////////////////////////Werte für X in Vektor schreiben
i=-1;
x=x+1;
float vektorx[21];
while (range<x){
x--;
i++;
vektorx[i]=x;
}
///////////////Werte für Y ausrechnen
BerechnungY (vektorx, a, a_n);
return;
}
Die Unterfunktion:
C++:
#include<stdio.h>
#include<math.h>
float BerechnungY (float vektorx[21], int a[5], int a_n){
float vektory[21];
int i=22;
float yn;
int ycount;
int test;
while (0<i){
yn=0;
i--;
vektory[i]=0;
ycount=a_n;
while (ycount>0){
ycount--;
test=pow(vektorx[1], ycount);
yn=a[ycount]*test;
vektory[i]=vektory[1]+yn;
}
return vektory;
}
Ich wäre für jeder Hilfe, zu der Lösung dieses Problems dankbar.
Mit freundlichen Grüßen
Matze
Zuletzt bearbeitet: