Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » for-Schleifen Problem

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
14.04.2008, 17:03 Uhr
~hilfesuchender
Gast


Hi alle zusammen!

Ich muss für die Schule c++ lernen und bis jetzt hat es auch ganz gut geklappt... Aber jetzt haben wir eine Hausaufgabe aufbekommen, bei der ich einfach nicht weiterkomme...

Und zwar:
Schreiben Sie ein Programm, das nach Eingabe einer Zahl genau so viele Zeilen mit Sternchen auf den Bildschirm schreibt.

Die Aufgabe hab ich noch hinbekommen. Dann hieß es aber, dass es so aussehen soll:

Wenn z.B. die Zahl 5 eingegeben wird:
#
##
###
####
#####

Gelöst werden, soll das Problem mit Hilfe der for-Schleife...

Hier das vorherige Programm:

Code:
#include<iostream>
using namespace std;
    int a,i,b;
int main()
{
//Abfrage
    cout<<"Geben Sie bitte eine Zahl ein: ";
    cin>>a;

//Schleife
for(i=1; i<=a; i++)
{
    cout<<"#" <<"\n";
}

system("Pause");
return 0;

}




Ich hoffe Ihr könnt mir helfen

Mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.04.2008, 17:19 Uhr
öni



somit müsste deine Forschleife so oft durchgehen wie die zahl ist i<=a und jedes mal so viele Sternchen(Rauten) machen wie die zahl der zeile ist(1. zeile->1stern, 2.zeile->2sterne.....).

Somit musst du nun, einfach 2 Schleifen ineinader packen. Die eine verarbeitet die ZeilenNummer die andere die Sternchenanzahl.

C++:
for()//Wieviele Zeilen?
{
    for()//Wieviele Sterne in DIESER Zeile
    {

    }
}


Also den Ansatz haste. Da es DEINE Hausaufgabe ist musst du den Rest selber lösen, falls du nicht weiterkommst einfach nochmal melden.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.04.2008, 17:42 Uhr
~hilfesuchender
Gast


Hi, danke für die Hilfe schonmal.... Aber so wirklich weiter bin ich dadurch noch nicht gekommen....


Code:
#include<iostream>
using namespace std;
    int a,i,b;
int main()
{
//Abfrage
    cout<<"Geben Sie bitte eine Zahl ein: ";
    cin>>a;

//Schleife
for(i=1; i<=a; i++)//Wieviele Zeilen?
{
    cout<<"\n";
    for(i=1; i<=a; i++)//Wieviele Sterne in DIESER Zeile
    {
        cout<<"#";
    }
}

cout<<"\n\n\n";

system("Pause");
return 0;
}



funktioniert so aber leider nicht...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.04.2008, 20:02 Uhr
Oliver
S2-Pixelgeneral


Das kann auch nicht funktionieren, da du in beiden Schleifen dieselbe Variable (i) benutzt, das kollidiert dann natürlich. Benutz also für die innere Schleife eine andere Variable.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
14.04.2008, 20:36 Uhr
~hilfesuchender
Gast



Code:
#include<iostream>
using namespace std;
    int a,i,b,Produkt;
int main()
{
//Abfrage
    cout<<"Geben Sie bitte eine Zahl ein: ";
    cin>>a;

//Schleife
for(i=1; i<=a; i++)//Wieviele Zeilen?
{
    cout<<"\n";
    for(b=1; b<=a; b++)//Wieviele Sterne in DIESER Zeile
    {
        cout<<"#";
    }
}

cout<<"\n\n\n";

system("Pause");
return 0;
}



wenn ich das jetzt durchgehe, dann müsste es eigentl. funktionieren, aber in der inneren schleife ist anscheinend noch ein fehler.... wenn ich jetzt z.B. die zahl 5 eingebe, dann gibt er das aus:

#####
#####
#####
#####
#####
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
14.04.2008, 21:06 Uhr
öni



Sollen wir es dir jetzt vorkauen?
Du hast es doch schon gesagt. Es muss an der inneren Schleife sein.
Dein Lehrer wollte das du dich mit inneren Schleifen befasst. Also überleg dir doch mal wie das sein müsste, welche Schleife wird wann ausgeführt? Wann würde nur 1 Kreuz erscheinen oder 2? Überleg doch mal.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
14.04.2008, 21:54 Uhr
xXx
Devil


Naja tricksen:

C++:
#include<iostream>
#include <string>

int main()
{
    std::cout << "Geben Sie bitte eine Zahl ein: ";
    unsigned int count(0);
    std::cin >> count;

    for (unsigned int i(0); i < count; ++i)
        std::cout << std::string('#', i + 1) << std::endl;
    std::cin.get();
}
...
wie er es will:

C++:
#include<iostream>

int main()
{
    std::cout << "Geben Sie bitte eine Zahl ein: ";
    unsigned int count(0);
    std::cin >> count;

    for (unsigned int i(1); i <= count; ++i)
    {
        for (unsigned int j(1); j <= i; ++j)
            std::cout << '#';
        std::cout << '\n';
    }
    std::cin.get();
}
...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
15.04.2008, 16:33 Uhr
~hilfesuchender
Gast


man die lösung is so simpel^^ hab sie jetzt danke nochmal für hilfe...


Code:
#include<iostream>
using namespace std;
    int a,i,b,Produkt;
int main()
{
//Abfrage
    cout<<"Geben Sie bitte eine Zahl ein: ";
    cin>>a;

//Schleife
for(i=1; i<=a; i++)//Wieviele Zeilen?
{
    cout<<"\n";
    for(b=1; b<=i; b++)//Wieviele Sterne in DIESER Zeile
    {
        cout<<"#";
    }
}

cout<<"\n\n\n";

system("Pause");
return 0;
}

 
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: