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)
    danke

    code:
    #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 titel0

    i= 0,j= 1
    0,1
    titel= 1
    alt titel1

    i= 1,j= 0
    10,0
    titel= 1
    alt titel10

    i= 1,j= 1
    10,1
    titel= 11
    alt titel11

    i= 2,j= 0
    20,0
    titel= 11
    alt titel20

    i= 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


Anmelden zum Antworten