Zählschleife ????



  • Hallo,

    Ich möchte, in meiner Konsolen Anwendung, die zahlen 1 bis 5 ausgeben.
    Die Zahlen sollen mit einem Komma getrennt werden.

    Mein Code:

    Int32 i;
    
    	for (i = 0; i < 100; i++)
    
    	Console::WriteLine("{0},", i );
    

    Das Problem ist, dass hinter der letzten Zahl darf kein Komma stehen.
    Wie bekomme ich das hin?

    Gruß Bernd



  • Also vom Prinzip her:

    for(int i = 1; i <= 5; i++)
    {
        if(i == 5)
        {
          cout << i;
          break;
        }
        cout << i <<",";
    }
    


  • Die Zahlen 1 bis 5 gibt man aber nicht aus, indem man in ner Schleife von 0 bis 100 zählt 😉
    Du kannst doch in der Schleife abfragen ob i < 100-1, und dann ein Komma ausgeben, in allen anderen Fällen (ist ja nur einer) nicht.
    Aber Achtung: Das geht nicht mehr mit nur einer Codezeile, dafür brauchst du dann unbedingt geschweifte Klammern um den Schleifenrumpf!



  • Int32 i;
    
     i = 0;
     Console::WriteLine("{0}", i );   // <- nennt sich "Vorlauf"
    
     for (i = 1; i < 100; i++)        // <- nennt sich "Verarbeitung"
    
     Console::WriteLine(",{0}", i );
    


  • Vielen Dank für eure Tips.

    Gruß



  • bernd29bln schrieb:

    Int32 i;
    for (i = 0; i < 100; i++)
       Console::WriteLine("{0},", i );
    

    Das Problem ist, dass hinter der letzten Zahl darf kein Komma stehen.
    Wie bekomme ich das hin?

    Hast Du Dich verirrt? Es gibt einen Unterschied zwischen C++ und C++/CLI. Console::WriteLine kommt aus C++/CLI.

    Da Du in einem C++ Forum fragst, bekommst Du auch eine Lösung in C++:

    #include <iostream>
    int main()
    {
      std::cout << 1;
      for (int k=2; k<=5; ++k)
        std::cout << ", " << k;
      std::cout << '\n';
    }
    

Anmelden zum Antworten