Zeilenumbruch bei Vektor ausgabe



  • Hallo,

    ich will momentan ein Programm schreiben, welches ein Primzahlensieb darstellen soll. Das klappt auch soweit alles gut, jedoch will ich von den ausgegebenen Zahlen nur 10 in einer Reihe haben. Habe schon versucht es mit einen einfachen Counter zu machen jedoch klappt das nicht oder ich habe einen Fehler drinne und finde ihn einfach nicht.

    { for (int zv = 0; zv != zeile.size(); ++zv)           
    
            cout << zeile[zv]<<" " ;                                             
            ++zeilenumbruch;                                                                  
            if ( zeilenumbruch == 10 )                                                         
    
                cout << endl;                                                     
                zeilenumbruch = 0;                                                           
    
                }
        return 0;
    

    ich habe mal den anfang weg gelassen, da der ja fĂĽr das Problem irrelevant sein sollte.
    mfg 🙂



  • „Klappt nicht“ ist keine Fehlerbeschreibung.



  • Deine { und } sehen aus wie zufällig eingestreut. Schau dir an, wie man die benutzt. C++ erkennt Blöcke nicht durch EinrĂĽckungen. Benutze einen Debugger.



  • Ich hab deinen Code mal so formatiert, dass man die Struktur erkennt.

    {
      for (int zv = 0; zv != zeile.size(); ++zv)          
        cout << zeile[zv]<<" " ;                                            
    
      ++zeilenumbruch;                                                                  
    
      if ( zeilenumbruch == 10 )                                                        
        cout << endl;                                                    
    
      zeilenumbruch = 0;                                                          
    }
    return 0;
    

    Ist dir nun klar, wieso das nicht funktioniert?



  • um ehrlich zu sein sehe ich es immer noch nicht.
    Für mich steht da: Gib die zahl aus setze den counter um 1 hoch. Wenn der counter 10 ist dann endl wenn nicht mach die nächste Zahl.



  • Du hast Zeile 10 in Deiner Beschreibung elegant ausgelassen.



  • Zu einem if, for oder ähnlichen Kontrollstrukturen gilt immer nur die nächste Anweisung dazu.

    Man kann mehrere Anweisungen zu einer (als Block) zusammenfassen.



  • Ok vielen Dank habe meinen Fehler gefunden :).


Log in to reply