Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Frage bzgl. einer for-Schleife

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
03.07.2007, 00:17 Uhr
~Dragon
Gast


Hallo,

ich habe erst vor kurzem mit C++ angefangen und habe nun folgendes Problem:

wenn ich mir jetzt 10 Zahlen in einer Konsolenanwendung auf dem Bildschirm ausgeben aleesn möchte, dann kann ich folgende Schleife verwenden:

C++:
for(i=1; i<=10 ; i++)
{
  Console::WriteLine("{0}",i)
}


=> wie schaffe ich es jedoch, die zahlen mit einem Komma zu trennen, ohne dass ein Komma vor der ersten und nach der letzten Zahl erscheint?

also so: 1,2,.....8,9,10

mir fällt da lediglich die Möglichkeit ein, eine if-Schleife einzubauen:


C++:
/* ########################################################################
Einsendeaufgabe 3.2.cpp: Hauptprojektdatei.
#########################################################################*/


#include "stdafx.h"

using namespace System;

Int32 i; //Zählvariable global deklariert...

int main(array<System::String ^> ^args)
{
    for (i=1 ; i<=100; i++)
    {
        if (i<100)
        {
            Console::Write("{0}, ",i);
        }
        else
        {
            Console::Write("{0} ",i);
        }
    }
    return 0;
}


=> ist es möglich, mein Problem lediglich mit hilfe einer for-Schleife zu lösen?

vielen Dank & mfg Dragon

Bearbeitung von 0xdeadbeef:

cpp-tags eingefügt. Nächstes mal selbst machen.


Dieser Post wurde am 03.07.2007 um 01:27 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.07.2007, 01:29 Uhr
0xdeadbeef
Gott
(Operator)


Ich würd zunächst mal mit Standard-C++ arbeiten, und diesen Console::Write-Unfug sein lassen. ...und globale Variablen vermeiden, das kommt später nur wieder, um dich in den Arsch zu beißen.

In diesem Fall, wär wohl die einfachste Methode

C++:
#include <iostream>

int main() { // bzw. int main(int argc, char *argv[]), wenn du Parameter willst
  for(int i = 0; i < 100; ++i) {
    std::cout << i << ',';
  }
  std::cout << 100 << std::endl;
}


...oder das halt kapseln, a la

C++:
#include <iostream>

void print_numbers(int min, int max, std::ostream &os = std::cout) {
  for(int i = min; i < max; ++i) {
    os << i << ',';
  }
  os << max << std::endl;
}

int main() {
  print_numbers(1, 100);
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 03.07.2007 um 01:31 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.07.2007, 02:25 Uhr
~Dragon
Gast


Danke für die schnelle Antwort!

wen ich den Code richtig deute, lässt du die Schleife lediglich bis 99 zählen und jeweils die Zahl und das Komma auf dem Bildschirm ausgeben und fügst die 100 dann selbst hinzu..

liege ich richtig?

=> wenn ja, dann ist es also unmöglich, ohne die nachträglich hinzugefügte "100" das Komma am Anfang oder am Ende zu vermeiden?

mfg Dragon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.07.2007, 02:31 Uhr
0xdeadbeef
Gott
(Operator)


Mir scheint das so der einfachste Algorithmus zu sein. Aber du kannst das ja kapseln, wie ichs beschrieben habe - dann haste deine fertige Funktion.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.07.2007, 10:06 Uhr
Bruder Leif
dances with systems
(Operator)


Wahrscheinlich will der Lehrer auf den ?-Operator raus, nach dem Motto


C++:
void print_numbers(int min, int max, std::ostream &os = std::cout) {
  for(int i = min; i <= max; ++i) {
    os << i << (i < max ? ',' : '\n');
  }
}


--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: