Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » for schleife fragen,

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
11.10.2004, 22:33 Uhr
CGuardian



Und zwar folgendes, ich will mit einer for schleife die ausgabe

1
12
123
1234
12345
usw


wie kann ich das am besten regeln, dann noch nee frage gibt es unterschiede zwischen Liunx und windows... von aufbau her?..

hier mal mein ansatz,


Code:
#include <stdio.h>

int main()
{
    int i, j;
        for(i=1; i<=9; i++){
           for(j=1; j<=9; j++){
              printf("%2d%4d",i,j);
               }
        printf("\n");
              }
  return 0;
}



die ausgabe ist zwar jetzt 10 nach links und zehn nach unten aber die sotierung ist wieder nicht so gewollt wo liegt da mein fehler oder falsche denkweise.

bzw die verschleifung mit i+j wie wird die gemacht, bin davon ausgegangen das es mit
for(i; j<10; i++ ); wobei mir das nee entloss schleife bringt.

danke
--
Was für ein mieses Volk müssen wir sein, wenn der Spruch zutrifft, dass ein Volk immer die Politiker hat die es verdient?!

Dieser Post wurde am 11.10.2004 um 23:12 Uhr von CGuardian editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.10.2004, 01:33 Uhr
Hans
Library Walker
(Operator)


Hi,

Zu dem Schleifenproblem:
der Ansatz ist schon mal nicht schlecht, aber zwei Sachen sind falsch:
1) in der inneren Schleife musst Du nur bis zum jeweils aktuellen Wert von i zählen
2) brauchst Du bei der Ausgabe immer nur j ausgeben.


Zitat:
dann noch nee frage gibt es unterschiede zwischen Liunx und windows... von aufbau her?..

Grundsätzlich Ja. Aber da müsstest Du mal genauer erklären, was Du genau meinst. Es gibt da nämlich so viele Unterschiede, das man darüber Bücher schreiben kann.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
12.10.2004, 06:51 Uhr
CGuardian



von der formatierung der schleife selbst her unter linux z.b

for(i........); // linux
for(i........){ // windows.

ok danke für Tip lösung kommt heute abend nach Arbeit..
--
Was für ein mieses Volk müssen wir sein, wenn der Spruch zutrifft, dass ein Volk immer die Politiker hat die es verdient?!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
12.10.2004, 08:42 Uhr
derphilipder



Ab und zu mal ein Punkt oder Komma erhöht die Lesbarkeit ungemein!
Nur mal so am Rande...
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
12.10.2004, 08:44 Uhr
(un)wissender
Niveauwart


for(i........); // linux
for(i........){ // windows.

Das ist Blödsinn.
Hat nichts mit Linux oder Windows zu tun, sonder allerhöchstens mit unterschiedlichen Compilern.
Die Schleifen sind semantisch verschieden, das erste ist ein Schleife ohne Rumpf, die nur ihre Schleifenvariablen und Bedingungen bearbeitet.
Die zweite tut das auch, aber noch mit der Logik, die im Rumpf steht, dazwischen.

Folgendes C-Programm erstellt diese Ausgabe:
1
12
123
1234
12345
123456
1234567
12345678
123456789


C++:
#include <stdio.h>

int main()
{
    unsigned counter = 1, i, j;
    for(i = 1; i <= 9; ++i)
    {
        for(j = 1; j <= counter; ++j)
        {
            printf("%d", j);
        }
        ++counter;
        printf("\n");
    }
}


--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.10.2004, 09:34 Uhr
virtual
Sexiest Bit alive
(Operator)


Wasn los, seit Windalf besseren Code schreibt, gibt es ja nix zu lachen hier. Dann muß ich eben ran:

C++:
int i,z=0;for(i=1;i<=9;++i)printf("%d\n",z+=9*z+i);


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 12.10.2004 um 09:35 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
12.10.2004, 11:38 Uhr
(un)wissender
Niveauwart


.
Aber geiler Code!
Bist du sofort selbst drauf gekommen oder kanntest du das schon?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
12.10.2004, 14:18 Uhr
virtual
Sexiest Bit alive
(Operator)


Ist doch naheliegend, finde ich: die zahlen sind sich doch recht ähnlich und die Vorschrift

Code:
a(1) = 1
a(n+1) = 10*a(n) + (n+1)


liegt einfach auf der hand.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
12.10.2004, 14:51 Uhr
(un)wissender
Niveauwart


Wenn man kurz drüber nachdenkt, dann schon...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
12.10.2004, 23:58 Uhr
0xdeadbeef
Gott
(Operator)


Ich hätt ja z = 10*z + i geschrieben - ist für mein Auge lesbar, bedeutet aber so ziemlich das selbe.

Frage ist natürlich, wie sich das Programm nach 123456789 verhalten soll. Denkbar wäre auch folgender Ansatz:

C++:
#include <stdio.h>

#define MAX_LEN 20

int main(void) {
  int i, j;

  for(i = 1; i <= MAX_LEN; ++i) {
    for(j = 1; j <= i; ++j)
      putchar('0' + j % 10);
    putchar('\n');
  }

  return 0;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: