bloedes problem bei summierung 2er int
-
hi
hab nen dummes problem beim summieren 2er int. (in der art: d = 10 * a + b)
bekomm aber nicht das richtige ergebnis wenn ich cout d mache (bei cout 10 * a +b aber schon)
am besten poste ich einfach den code und das output (problem beim comment)
dankecode:
#include <iostream>using namespace std;
int main()
{
int n, m; // i von 0 bis n, j bis m;n = 2;
m = 1;int name[n], cut[m];
int i, j;
for(i = 0; i <= n; i++)
{
name[i] = i;
}
for(j = 0; j <= m; j++)
{
cut[j] = j;
}
int titel[name[n]][cut[m]];for(j = 0; j <= m; j++)
{
for(i = 0; i <= n; i++)
{
titel[name[i]][cut[j]] = 10*name[i] + cut[j]; // PROBLEM BEIM OUTPUT!!!
}
}
for(i=0;i<=n;i++)
{ for(j=0;j<=m;j++)
{cout << "i= "<< i <<"," << "j= " << j << endl <<10 * name[i] <<"," << cut[\
j] << endl<< "titel= "<< titel[name[i]][cut[j]] << endl << "alt titel" << 10*na\
me[i] + cut[j] << endl << endl;
}
}
return(0);
}OUTPUT: (titel falsch; alt titel richtig)
i= 0,j= 0
0,0
titel= 0
alt titel0i= 0,j= 1
0,1
titel= 1
alt titel1i= 1,j= 0
10,0
titel= 1
alt titel10i= 1,j= 1
10,1
titel= 11
alt titel11i= 2,j= 0
20,0
titel= 11
alt titel20i= 2,j= 1
20,1
titel= 21
alt titel21
-
Bitte benutz Syntax-Highlight sfds
Der Fehler liegt darin, das ein Array der Länge N von 0 bis N-1 geht und _nicht_ bis N
for(i = 0; i < n; i++) { name[i] = i; } for(j = 0; j < m; j++) { cut[j] = j; } int titel[name[n-1]][cut[m-1]];btw ist das kein Standard C++, da die länge eines Arrays in C++ zur Compilezeit feststehen muss!
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Linux/Unix in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
erstma danke für die schnell antwort.
rüdiger schrieb:
Der Fehler liegt darin, das ein Array der Länge N von 0 bis N-1 geht und _nicht_ bis N
ist mir eigentlich klar, hatte halt arrays der länge n+1 bzw m+1(sollte ja auch so gehen) deshalb auch i<=n (geht ja von 0 bis n also n+1 einträge)
rüdiger schrieb:
btw ist das kein Standard C++, da die länge eines Arrays in C++ zur Compilezeit feststehen muss!
habe ich das nicht gemacht indem ich n und m zuvor einen wert zugewiesen habe?
also n=3 m=2
und dann int name[n]
-
ah damn nehm den ersten teil mit der länge) wieder zurück