Hilfe: Array-Ausgabe
-
Hallo,
ich soll aus einem Array die Elemente auslesen und in einer gutlesbaren Tabelle auf der Konsole ausgeben.
Mein Prof hat uns den Tipp gegeben:printf("...%c", ... , jj%6?' ':'\n');
Das soll wohl eine Tabelle ergeben bzw die Werte nebeneinander reihen.
Komme aber noch nicht so ganz damit klar.
Bin jetzt soweit:for(l=0;l<=20;l++){ printf("%lf%c", arr[l],l%6?' ':'\n'); }
Kommt aber nicht wirklich das erwünschte Ergebnis raus und ich blicke auch noch nicht so ganz durch, bei diesem "Tipp".
Was macht z.B. das "?" und der ":" ?
Kann mir da jmd helfen?PS: Im oberen Code kann es vll sein, dass ein "j" zu viel ist. Stand aber so auf dem Aufgabenzettel.
-
dass
1. l%6 2. \n
1 ein Modulo-Operator ist und 2 ein Seitenumbruch, weiß ich.
-
Verdammt, Schuldigung!
Das Stichwort heißt scheinbar "Bedingungsoperator".
-
printf("%lf%c", arr[l],l%6?' ':'\n');
Das bedeutet so viel wie: wenn l modulo 6 ungleich Null, schreib ein Leerzeichen,
sonst einen Zeilenumbruch.Das lässt sich auch schreiben:
char c; if ( l%6 ) c = ' ' else c = '\n'; printf( "%lf%c", arr[l], c );
Es wird ein ternärer Operator benutzt, der so funktioniert:
a?b:c
Wenn a, dann b sonst c. a, b und c können Variable, Funktionen sein, etc.Gruß,
B.B.
-
Danke für die Hilfe.
Hat funktioniert.