Frage von john1611, 27

For - Schleife in C?

Hallo!

Wie kann ich in C eine For Schleife programmieren, welche folgendes ausgibt:

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

1 2 3 4

1 2 3

1 2

1

Danke für Eure Hilfe

Antwort
von Suboptimierer, 5

Ich kenne die genauen Ausgabebefehle nicht, deswegen eine Art Pseudocode:

for(i=1;i<10;i++)
{
  if(i<=5)
    sText += i + ' ';
  else
    sText = Links(sText, Länge(sText)-2);
  Ausgabe(trim(sText));
}

In JavaScript sähe es zum Beispiel so aus:

function Main()
{
  var i;
  var sText = "";

for(i=1;i<10;i++) { if(i<=5) sText += i + ' '; else sText = sText.substr(0, sText.length-2); Log(sText.trim()); // Log schreibt eine Textzeile in ein HTML-DIV } }
Kommentar von martin0815100 ,

naja, fast ^^

Kommentar von Suboptimierer ,

Bei mir haut die untere JavaScript-Variante exakt hin.

Kommentar von martin0815100 ,

falsche Sprache ^^

Kommentar von Suboptimierer ,

Mit C kann ich nicht mehr dienen. Habe ich aber extra betont.
Java(Script) ist zum Glück syntaktisch dem C sehr ähnlich.

Kommentar von martin0815100 ,

Das Problem ist, dass es in der Lerneinheit um den Einsatz der For Schleife ging. So rein algorithmisch ist das ja Kindergartenniveau. Und vergleiche mal unseren Code. Ähnlich ja, aber...

Antwort
von Mikkey, 6

for (int ii = 0; ii <= 5; ii++) ProcessLine(ii);

for (int ii = 5-1; ii > 0; ii--) ProcessLine(ii);

...

void ProcessLine(int upto)

{

    for (int ii = 1; ii <= upto; ii++)

        Gebe_Aus(ii);

    Schreibe_Neue_Zeile();

}

Antwort
von RedKungFuMastr, 8

https://www.tutorialspoint.com/cprogramming/

Learning by doing und nicht Copy n Paste!

Don't be a help vampire !!!!

http://slash7.com/2006/12/22/vampires/

Antwort
von ralphdieter, 4
for
(int i
=1; i<10;
++i) printf(
"%.*s\n",2*(i<5
?i:10-i )-1,
"1 2 3 "
"4 5"
);

Da sieht man gleich, was der Code tut, und kann sich die Kommentare schenken ;-)

Kommentar von LolleFee ,

Ich kommentiere trotzdem: nette Spitze ;))

Kommentar von ralphdieter ,

Darfst Du ja auch gerne! Ich meinte Kommentare im Quelltext. Wenn ein Programmierer nämlich keine Lust oder keine Ahnung hat, schreibt er so'n überflüssigen Text in sein Programm, um andere Programmierer zu verwirren. Das sieht etwa so aus:

int i=0; /* j wird auf 1 gesetzt */
Kommentar von LolleFee ,

Ach so... Ehrlich gesagt weißt ich gar nicht, wovon Du sprichst bzw. schreibst - mein Kommentar beschrieb nur meine ästhetische Wahrnehmung ;))

Kommentar von ralphdieter ,

Tu doch nicht wie die Unschuld vom Lande! Bestimmt ist Dir sofort aufgefallen, wie sich in den Zeilen 2-4 die drei Leerzeichen dem wie Stromschnellen kämpfenden Text entgegen stellen, das Ganze in Zeile 5 atemlos kulminiert, aber schon in Zeile 6 jäh durch ein weiteres Leerzeichen gestoppt wird. In dessen direkter Umgebung finden sich deutliche Anzeichen des bevorstehenden Untergangs: "-i" ")", "-1". Media vita in morte sumus.

Doch obwohl (oder weil?) sich der Erzählstrang ab hier immer weiter in den Leerzeichen der Unendlichkeit verliert, kristallisiert daraus eine inkrementelle Ziffernfolge, die die uralte Frage aufwirft: "Was kommt nach der Fünf?"

Der subtile Bruch im Metrum ab Zeile 7 unterstreicht die synkopische Wirkung des Leerzeichens von Zeile 6 und grenzt das Gesamtwerk klar von barocker Lyrik ab.

Aber wenn ich das meinem Chef erzähle, schaut er mich nur komisch an und sagt: "Montag müssen wir ausliefern." Ich glaube, ihm fehlt die poetische Ader.

Keine passende Antwort gefunden?

Fragen Sie die Community