so habe ich Integer m und n in meinem Programm, sobald Sie die Werte eingeben, sollte es ein Array mit Werten von m bis n erstellen (zum Beispiel m = 1 und n = 10 erstellt er Array q mit Werten von 1 bis 10). Dann sieht es im Array aus, ob es irgendwelche Zahlen gibt, die gleich zwei Zahlen sind, die quadriert sind (zum Beispiel ist in der Matrix die Zahl 5 gleich 1 Quadrat + 2 Quadrat). Das Problem ist, wenn ich versuche, den ersten Wert einzugeben, den es stürzt, ziemlich sicher, dass das Problem in der Funktion ist, aber nicht scheinen kann, es herauszufinden. DankProgramm stürzt ab, wenn ich versuche, Werte einzugeben
#include <iostream>
using namespace std;
int squared (int a, int b, int q[]){
while (a<=0 || b<=0){
cout <<"You can't input an integer that is 0 or below: ";
cin >>a;
cin >>b;
if (a>0 || b>0) break;
}
for (int p=0; p<b; p++){
for (int i=a ; i<b; i++){
q[p] = a;
}
}
for (int z=0; z<b; z++){
for (int x=0; x<b; x++){
for (int c=0; c<b; c++){
if (q[z] == (q[x] * q[x]) + (q[c] * q[c])){
int result= (q[x] * q[x]) + (q[c] * q[c]);
return result;
}
}
}
}
}
int main() {
int m,n;
int M[100];
cout <<"Input integers m un n: ";
cin >>m,n;
cout <<squared(m,n,M);
return 0;
}
'cin >> m, n,' nicht tut, was Sie denken, es tut. – NathanOliver
Haben Sie versucht, im Debugger durchzulaufen, um herauszufinden, wo der Fehler auftritt? Kannst du auch "Crash" definieren? Was genau läuft schief? Bitte lesen Sie [diesen Artikel] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/) zum Debuggen von kleinen Programmen. – EJoshuaS
'cin >> m >> n;' – Raindrop7