Programmänderung =(



  • Hallo Zusammen

    Ich habe hier 2 Programme die ich einfach nicht ändern kann da mir auch die nötige erfahrung fehlt im bereich "programmieren"

    der erste geht so:

    #include<iostream>
    int main(){
    for(int i=1;i!=8;++i)
    std::cout<<i<<". "<<"XXXXXXXX\n"+i;
    }

    die Ausgabe sieht das noo aus:

    1.XXXXXXX
    2.XXXXXX
    3.XXXXX
    4.XXXX
    5.XXX
    6.XX
    7.X

    nur will ich das die ausgabe so aussieht:

    1.X
    2.XX
    3.XXX
    4.XXXX
    5.XXXXX
    6.XXXXXX
    7.XXXXXXX

    und der zweite ist so:

    #include <iostream>

    class FolgenGenerator
    {
    int m_max, m_diff;
    public:
    FolgenGenerator(int max, int diff)
    : m_max(max), m_diff(diff)
    {}
    int max() const
    {
    return m_max;
    }
    int diff() const
    {
    return m_diff;
    }
    };

    std::ostream& operator<<( std::ostream& s, const FolgenGenerator& gen )
    {
    int val = gen.diff();
    {
    while(val <= gen.max()) {
    s << val << ", ";
    val += gen.diff();
    }
    return s;
    }
    }

    int main()
    {
    typedef FolgenGenerator FG;
    std::cout << FG(100, 2) << std::endl
    << FG(100, 4) << std::endl
    << FG(100, 😎 << std::endl;
    }

    der programm sollte die 2er, 4er und 8er Reihe Anzeigen bis und mit 100.

    Leider müss ich das in for Schleifen darstellen.

    Kann mir jemand dabei helfen?



  • Ist das zum Lehrzweck? Dann lies ein oder zwei gute Bücher zum Thema, damit ist dir mehr geholfen.

    Oder ist das dein Beruf? Dann solltest du schnellstmöglich zu etwas wechseln, für das du qualifiziert bist.

    ... und was genau hat dein Problem noch gleich mit C++Builder zu tun?



  • #include <iostream>
    
    using namespace std;
    int main(int argc, char* argv[])
    {
       //Hausaufgabe 1
       int x,y;
       for(x=2;x<=8;x*=2)
       {
          cout << x << "er : ";
          for(y=x;y<=100;y+=x) cout << y << "/";
          cout << endl << endl;
       }
       //Hausaufgabe 2
       for(int i=7;i>0;--i)
       {
          cout << 8-i << ". " << "XXXXXXXX\n"+i;
       }
       return 0;
    }
    


  • audacia schrieb:

    Ist das zum Lehrzweck? Dann lies ein oder zwei gute Bücher zum Thema, damit ist dir mehr geholfen.

    Oder ist das dein Beruf? Dann solltest du schnellstmöglich zu etwas wechseln, für das du qualifiziert bist.

    ... und was genau hat dein Problem noch gleich mit C++Builder zu tun?

    Hast du vielleicht gute Bücher die du mir empfehlen kannst? Bin Anfänger



  • was ich mich schon die ganze zeit frage: verstehst du, wieso das programm funktioniert? oder siehst du nur, dass es geht und damit ists gut?

    Klar ist die Lösung hier besser

    for(int i=7;i>0;--i)
       {
          cout << 8-i << ". " << "XXXXXXXX\n"+i;
       }
    

    als die, mit noch ner for-Schleife:

    for(int i=0; i != 8; ++i)
       {
          cout << i << ". ";
          for(int j=0; j != i; ++j)
            cout << 'X';
          cout << endl;
       }
    

    aber die 2. lösung ist vll offensichtlicher...

    und verstehst du die erste lösung? wenn nicht, nützt dir das nämlich alles nichts...
    C++ verständniss braucht man dazu eigtl nich wirklich...
    falls du den code verstanden hattest und trotzdem probleme hast, dann liegt es doch eher an der algorithmierung und nicht am C++... das lernt man am besten durch Übung...

    bb


Anmelden zum Antworten