ostream-Problem: Matrix ausgeben



  • std::ostream& operator<< (std::ostream& outstream, const Matrix& m)
    {
    	for (unsigned int i = 1; i <= m.getRows(); i++)
    	{
    		for(unsigned int j = 1; j >= m.getColumns(); j++)
    			outstream << m.getElement(i,j);
    		outstream << std::endl;
    	}
    	return outstream;
    }
    

    Diese Funktion soll eigentlich nur zum debuggen dienen, aber trotzdem geht sie nicht: es wird überhaupt nix ausgegeben. Arbeite noch nicht sehr lange mit C++ (komme von C) und hab deshalb noch nicht viel Ahnung von den Strömen. Vielleicht hat einer eine Lösung zur Hand, am besten mit Feldern für die einzelnen Elemente - der Übersicht wegen (printf lässt grüßen)
    Danke schonmal! 🙂



  • for(...; j >= m.getColumns();...)
    

    sollte wohl <= heißen 😉
    warum zählst du eigentlich nicht von 0 an?



  • lol, ich honk. Das war der Fehler schon *haareausreiß*
    Danke davie! Wäre wahrscheinlich nie draufgekommen.
    warum ich bei 1 anfange? Weil meine getElementfunktion von 1 bis n Werte liefert und nicht, wie beim array üblich, mit der 0 beginnend (erstes find ich persönlich bei einer Matrix passender).
    Vielleicht krieg ich das ganze jetzt noch in ein schönes Format mit setw(width)...


Anmelden zum Antworten