Hilfe die sechste :-)



  • Ich habe schon hunderte Dinge über das Thema gelesen...aber irgendwie scheint mir das Verständnis zu fehlen...

    Dieses jenige will ich nun mit eurer Hilfe auffüllen...

    Also, kann mir denn keiner helfen???

    ?????? Oder will keiner????? 😕



  • Visual Newbie schrieb:

    Ich habe schon hunderte Dinge über das Thema gelesen...aber irgendwie scheint mir das Verständnis zu fehlen...

    Wenn du nach "hunderten Tutorials" diesen Zweizeiler nicht selbst schaffst rate ich dir dringend etwas anderes zu lernen. Mit unserer Hilfe schaffst du eventuell noch dieses Beispiel aber beim ersten Zeiger hast du dann absolut keine Chance mehr.

    MfG SideWinder



  • Visual Newbie schrieb:

    Ich habe schon hunderte Dinge über das Thema gelesen...aber irgendwie scheint mir das Verständnis zu fehlen...

    nicht nur das verständnis. hast zusätzlich nen seltsamen prof und hast nicht hunderte von dingen dazu gelesen.

    Also, kann mir denn keiner helfen???
    ?????? Oder will keiner????? 😕

    es wäre eh nicht fürchterlich nutzbringend.

    Gesucht ist die Summe der Zahlen 1 bis 100.

    5050. das weiß man auswendig.
    ein c++-programm dazu:

    #include <iostream>
    int main(){
       std::cout<<5050<<'\n';
    }
    
    a) Erläutern Sie, was unter Zählschleifen
    

    schleifen, die was zählen. ähnlich wie

    summierschleifen
    int sum=0;for(int i=0;i<size;++i) sum+=a[i];

    , stelle-fest-ob-schleifen,
    for(int i=0;i<size;++i) if(pred(a[i]) return true; return false;

    suchschleifen.
    for(int i=0;i<size;++i) if(pred(a[i]) return &a[i]; return 0;

    und die zählschleifen sind logischwerise dann
    int count=0;for(int i=0;i<size;++i) if(pred(a[i]) ++count;

    dein chef meint aber was anderes. er meint das, was in basic for-schleifen wären und in gutem c++ beinahe auch. schleifen, die simpel über einen container oder bereich iterieren.

    und Bedingungsschleifen (kopf- und fußgesteuerte Schleifen) zu verstehen ist.

    das wort bedingungsschleifen hat er gerade selber erfunden, nehme ich an. ich würde ihm an deiner stelle nicht antworten, den damit bestärkst du ihn nur, so weiterzumachen. kopf- und fußgesteierte schleifen hört man eigentlich nur von programmierfossilen, die immernoch struktogramme malen. keine ahnung, was das soll und inwiefern es einen schüler weiterbringen soll.

    b) Zeichnen Sie jeweils das zugehörige Struktogramm.

    hab ich's doch gewußt. ihr zwingt mich doch noch zu dem buch.

    c) Erstellen Sie jeweils den zugehörigen Quellcode.

    aber bitte erst *nach* dem struktogramm. höhö.

    Also ehrlich, wer mich kennt, weiß das ich nichts weiß ...
    Ich verstehe überhaupt nicht, was der Lehrer von mir will, vielleicht könnt ihr mir wieder helfen...

    ich weiß es. aber vielleicht ist es besser, wenn ich das nicht verrate.

    wenn du bis in ner woche noch nix beisammen hast, poste hier nochmal, dann geb ich die ne lösung, die volle punktzahl erzielt.





  • Gesucht ist die Summe der Zahlen 1 bis 100.

    5050. das weiß man auswendig.

    Tut man das? Ich weiß es nicht. Aber moment ... 100*101/2 = 5050, ja stimmt.



  • Helium schrieb:

    Gesucht ist die Summe der Zahlen 1 bis 100.

    5050. das weiß man auswendig.

    Tut man das? Ich weiß es nicht. Aber moment ... 100*101/2 = 5050, ja stimmt.

    Deine Formel ist falsch, der liebe Euler hat uns beigebracht das 1+100=101 -> 101*50=5050 ist 😉

    MfG SideWinder



  • @SideWinder: Ich glaube, das hier war gemeint.



  • SideWinder schrieb:

    Helium schrieb:

    Gesucht ist die Summe der Zahlen 1 bis 100.

    5050. das weiß man auswendig.

    Tut man das? Ich weiß es nicht. Aber moment ... 100*101/2 = 5050, ja stimmt.

    Deine Formel ist falsch, der liebe Euler hat uns beigebracht das 1+100=101 -> 101*50=5050 ist 😉

    Was steht denn bei mir? n*(n+1)/2. Ob du nun erst 100 * 101 rechnest und dann durch zwei teilst, oder erst die 100 durch zwei teilst und dann mit 101 multiplizierst ist scheißegal.



  • Visual Newbie schrieb:

    Gesucht ist die Summe der Zahlen 1 bis 100.

    die 5050 kann man auch so ausgeben:

    int summe=0;
    for(int i=1;i<=100;++i)
       summe+=zahl;
    cout<<summe<<'\n';
    


  • oder, wenn du deinen Lehrer verblüffen willst:

    #include <iostream>
    using namespace std;
    
    template<int n>
    int summeVon1Bis(){return n + summeVon1Bis<n-1>();}
    
    template<>
    int summeVon1Bis<1>(){return 1;}
    
    int main()
    {
        cout << summeVon1Bis<100>() << endl;
        cin.get();
    }
    


  • schorsch code schrieb:

    oder, wenn du deinen Lehrer verblüffen willst:

    #include <iostream>
    using namespace std;
    
    template<int n>
    int summeVon1Bis(){return n + summeVon1Bis<n-1>();}
    
    template<>
    int summeVon1Bis<1>(){return 1;}
    
    int main()
    {
        cout << summeVon1Bis<100>() << endl;
        cin.get();
    }
    

    da bürdest du dem optimierer aber einiges auf.
    sollte man sich nicht lieber auf die sichere seite stellen mit

    template<>
    struct SummeVon1Bis<n>{
       static int const value=SummeVon1Bis<n-1>::value+n;
    };
    

    ?


  • Mod

    wenn wir schon bei WTFs sind, darf eine version mit standard algorithmen nicht fehlen:

    #include <algorithm>
    #include <iterator>
    #include <iostream>
    struct Niterator
    {
        typedef bidirectional_iterator_tag iterator_category;
        typedef int value_type;
        typedef int& reference;
        Niterator(int n=0):n(n) {}
        int& operator*() { return n; }
        const int& operator*() { return n; }
        Niterator& operator++() { ++n; return *this; }
        Niterator operator++() { Niterator x(n); ++*this; return x; }
        Niterator& operator--() { --n; return *this; }
        Niterator operator--() { Niterator x(n); --*this; return x; }
        int n;
    };
    bool operator==(const Niterator& lhs, const Niterator& rhs) { return lhs.n==rhs.n;}
    bool operator!=(const Niterator& lhs, const Niterator& rhs) { return !(lhs==rhs);}
    int main()
    {
        std::cout << std::accumulate(Niterator(1),Niterator(100),0);
    }
    


  • Sicher das es ein WTF ist? Für mich ist es Abstraktion.



  • Probiert ihr die Programme auch, bevor ihr die reinstellt? Das funktioniert gar nich... oder womit programmiert ihr? Ich hab Visual 6.0

    Und das erste Programm gibt gar nix aus...???!!!



  • kommt irgendwie dem längsten hallo world nah..

    he, newbie, soviel hilfe, und du willst wirklich rein garnix selber denken?



  • Visual Newbie schrieb:

    Und das erste Programm gibt gar nix aus...???!!!

    wenn du damit mein

    int summe=0; 
    for(int i=1;i<=100;++i) 
       summe+=zahl; 
    cout<<summe<<'\n';
    

    meinst, dann stimmt das wohl. das war nur sozusagen der kern. die sachen, die man immer macht, also main() und using namespace und include mußte nur drumherumschreiben.



  • Eigentlich eine Frechheit, dass du dir sowas dem guten Newbie gegenüber erlaubst, am Ende muss der noch mitdenken.



  • Insolence schrieb:

    Eigentlich eine Frechheit, dass du dir sowas dem guten Newbie gegenüber erlaubst, am Ende muss der noch mitdenken.

    wie ich eben erfahren habe, ist er http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-18316.html Azubi SE

    als solcher muß er, ähm, deutlich besser am ball bleiben, als wie als schüler.


Anmelden zum Antworten