Online-Skater
Erfahrenes Mitglied
Hallo liebe Tutorianer 
Ich habe mal eine Frage bezüglich der Formatierung in C++. Habe ein Konsolenprogramm welches eine Matrix einliest und diese möchte ich gerne formatiert ausgeben, da nun aber unterschiedliche große Zahlen eingegeben werden können, erweist sich ein Konstanter Wert als relativ unbrauchbar mittels setw(const) .
Ich habe auch schon versucht dynamisch zu lösen, aber ebenfalls mit Misserfolg. Gibt es eine elegante Methode bzw. Lösung die Matrix gleichmäßig und mit gewissem Abstand auszugeben ?
Die Abstände müssten sich ja irgendwie nach der größten Zahl richten, welche man ja mit abstand = floor(log10(zahl)+1) ermitteln könnte vorher... aber gibts noch einen anderen Weg ?
Danke schonma

Ich habe mal eine Frage bezüglich der Formatierung in C++. Habe ein Konsolenprogramm welches eine Matrix einliest und diese möchte ich gerne formatiert ausgeben, da nun aber unterschiedliche große Zahlen eingegeben werden können, erweist sich ein Konstanter Wert als relativ unbrauchbar mittels setw(const) .
C++:
// Ausgabe der Matrix
void print_matrix(int** arr, USINT x, USINT y)
{
cout << "Matrix:\n";
for(USINT i = 0; i < x; i++)
{
cout << "|";
for(USINT j = 0; j < y; j++)
{
cout << setw(3) << arr[i][j];
}
cout << setw(3) << "|\n";
}
}
Ich habe auch schon versucht dynamisch zu lösen, aber ebenfalls mit Misserfolg. Gibt es eine elegante Methode bzw. Lösung die Matrix gleichmäßig und mit gewissem Abstand auszugeben ?
Code:
| 234 -6 1500 |
| 25 -25 -8 | Beispielsweise
| 1200 248 -77 |
Die Abstände müssten sich ja irgendwie nach der größten Zahl richten, welche man ja mit abstand = floor(log10(zahl)+1) ermitteln könnte vorher... aber gibts noch einen anderen Weg ?
Danke schonma
