Anfänger suchen Aufgaben



  • Salut!

    Crankmanker schrieb:

    ... lese dazu das Buch C++ für Spieleprogrammierer ...

    Kenn ich, ist ein gutes Buch 😃

    ... Ich wollte euch nun mal fragen ob ihr Tipps habt zum besseren Lernen von C++ ...

    Übung macht den Meister! 😉

    ... und außerdem ob ihr paar kleine Aufgaben für mich hättet in bezug auf If/else schleifen und else if und Verschachtelung sowie for schleifen und so. ...

    Geh ma zum Anfang des Threads, da sind welche Aufgaben mit if/else und Co.

    Gruß
    agi 🙂



  • okkkaayy danke für den hinweis...

    mit übung macht den meister meinst du bestimmt das ich einfach programmieren soll kombinieren soll und alles oder ? Also denke ich mir mal was aus und versuche es zu programmieren ? So in etwa richtig ?

    und mit if/else Aufgaben werde ich mich sofort ran machen 🙂



  • Was mir gerade auffällt, du bist erst bei if/else und loops und arbeitest schon mit Pointern?

    Kommen die nicht immer erst viel später in so Büchern?



  • PRIEST schrieb:

    Was mir gerade auffällt, du bist erst bei if/else und loops und arbeitest schon mit Pointern?

    Ich bin schon seit gestern im Kapitel Pointer angelangt 😃
    Es wäre daher nicht schlecht, wenn ihr mir paar Aufgaben dazu geben würdet 🙂

    Kommen die nicht immer erst viel später in so Büchern?

    In der Regel schon.

    Gruß
    agi 🙂

    PS: Aufgaben zum Thema Rekursion, wären ebenfalls nicht schlecht (hab da so meine macken) 😉



  • Rekursion? Pointer? Wie wärs mit nem Binär-Baum 🙂



  • Juten morgen euch allen,

    boah ich freu mich schon wenn ich auch mal bei den pointern lande habe heute mit Funktionen angefangen und das mit den Schleifen hackt auch noch ein wenig muss ich mich auch noch besser drum kümmern... Naja eine Frage hätte ich da mal an euch kann man auf der konsole eigentlich irgendwelche Farben herzaubern haha



  • moin!

    Probiers ma mit system("COLOR 00"); oder so...

    du musst dazu windows.h includen!

    Gruß
    agi 🙂



  • Geil danke schön für den Tipp,
    sieht doch jetzt mal viel besser aus so macht dat schon mehr spaß 😃



  • Ich hätte gerne die möglichkeit einen Satz einzugeben und das Programm soll mir sagen wieviele Vokale (aufgesplittet) sich in diesem Satz befinden. Also Anzahl von A usw. ebenfalls möchte ich eine Anzahl der Konsonanten haben. Die eingabe des Satzes soll mit einem Punkt beendet werden.

    Sitz schon ne weile vor'm Schirm und ich habe immer noch nichts hinbekommen 😞
    Außer vielleicht scanf() auf dein Teilproblem angepasst:

    scanf("%99[^.]",satz);
    

    strchr und strpbrk hilft mir au nich weiter...

    Ich brauche irwas mit der die Stringstelle als "Array-Index" zurückgegeben wird sprich: wenn a in array[index] lokalisiert is, gib mir den aktuellen index.
    Dann sollte ich die Aufgabe auch lösen können 😃

    Grüße
    agi 🙂



  • oder einfach nen switch case und ne while schleife :p



  • PRIEST schrieb:

    oder einfach nen switch case und ne while schleife :p

    und das ohne den Header string.h ? Hmmm...

    char array[5]={"Test"};

    if(array[1]=='a') // Hier wird ja irwas mit a verglichen, aber nich der Buchstabe e :p
    {
    ...
    ...
    ...

    Grüße
    agi 🙂



  • geht mir ja um ne eingabe und wärent dessen soll geprüft werden also

    solange eigegeben wird
    überprüfe die eingabe und ordne sie dem entsprechenden case zu
    wenn der case punkt eintrifft geh aus der schleife 😃

    so wäre doch auch ganz ok, oda 🤡



  • ja das problem is doch, dass beim Vergleich irein Wert mit a verglichen wird also in dem Fall nich wie erwartet ist e == a sondern ist irein Zahlenwert == a ? Und deshalb geht das leider nich... (bei mir ging das zumindest nich) 😞

    char array[5]={"test"} ;

    if(array[1]=='a')
    {

    count++;

    }
    ...
    ...

    ja klar wenn das gehen würde, würde ich ja au switch einsetzen, aber es geht ja nich...

    Grüße
    agi 🙂



  • Hi,

    aXYZn schrieb:

    So GNU-Fan, hier ist dein Programm 😃

    Gleich die nächste Aufgabe: Ich kann mich leider nicht entscheiden, welches Betriebssystem ich verwenden soll. Manchmal verwende ich zwar Windows, manchmal aber auch MacOS X, GNU/Linux und viele, viele andere.

    Kannst Du das Programm für GNU-Fan so umschreiben, dass es auf all meinen Lieblingsbetriebssystemen kompiliert und läuft?



  • nman schrieb:

    Kannst Du das Programm für GNU-Fan so umschreiben, dass es auf all meinen Lieblingsbetriebssystemen kompiliert und läuft?

    das ist unmöglich



  • Das ganze Problem hört schreit quasi nach einer Lösung mit Bucket-Sort oder ?



  • general bacardi schrieb:

    das ist unmöglich

    Ich glaube er meint, das GetAsyncKeyState...

    Das ganze Problem hört schreit quasi nach einer Lösung mit Bucket-Sort oder ?

    Welches Prob. das von nman oder PRIEST ?

    Grüße
    agi 🙂

    Edit:

    aXYZn schrieb:

    ja klar wenn das gehen würde, würde ich ja au switch einsetzen, aber es geht ja nich...

    Oh, es geht ja wirklich. Ich hatte unrecht sry PRIEST 🤡

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        char string[]={"Test"};
    
        if(string[0]=='T')
        {
            printf("Glueckwunsch\n");
        }
        else
        {
            printf("Looser!");
        }
        system("PAUSE"); 
        return 0;
    }
    

    Ich bekam die Ausgabe Glueckwunsch xD



  • aXYZn schrieb:

    Ich glaube er meint, das GetAsyncKeyState...

    Mit C++ keine Chance. Muss für jedes Sytem neu kompilieret werden. Mit Interpretersprachen wie Java, Python geht es



  • PRIEST schrieb:

    Ich hätte gerne die möglichkeit einen Satz einzugeben und das Programm soll mir sagen wieviele Vokale (aufgesplittet) sich in diesem Satz befinden. Also Anzahl von A usw. ebenfalls möchte ich eine Anzahl der Konsonanten haben. Die eingabe des Satzes soll mit einem Punkt beendet werden.

    Puh, so PRIEST hier is dein Programm :

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    void voc_check(char string[], int voc[], int *n)
    {
    
        int i;
    
        for(i=0;i<=*n;i++)
        {
    
            if(string[i]!='a'&&string[i]!='e'&&string[i]!='i'&&string[i]!='o'&&string[i]!='u')
            {
                continue;
            }
            if(string[i]=='a')
            {
                voc[0]++;
                continue;
            }
            if(string[i]=='e')
            {
                voc[1]++;
                continue;
            }
            if(string[i]=='i')
            {
                voc[2]++;
                continue;
            }
            if(string[i]=='o')
            {
                voc[3]++;
                continue;
            }
            if(string[i]=='u')
            {
                voc[4]++;
                continue;
            }
        }
    }
    
    void voc_big(char string[], int voc[], int *n)
    {
    
        int i;
    
        for(i=0;i<=*n;i++)
        {
    
            if(string[i]!='A'&&string[i]!='E'&&string[i]!='I'&&string[i]!='O'&&string[i]!='U')
            {
                continue;
            }
            if(string[i]=='A')
            {
                voc[0]++;
                continue;
            }
            if(string[i]=='E')
            {
                voc[1]++;
                continue;
            }
            if(string[i]=='I')
            {
                voc[2]++;
                continue;
            }
            if(string[i]=='O')
            {
                voc[3]++;
                continue;
            }
            if(string[i]=='U')
            {
                voc[4]++;
                continue;
            }
        }
    }
    
    void kon_check(char string[], int *n,int kons[])
    {
    
        int i;
    
        for(i=0;i<= *n;i++)
        {
    
            if(string[i]!='b'&&string[i]!='c'&&string[i]!='d'&&string[i]!='f'&&string[i]!='g'&&string[i]!='h'&&string[i]!='j'&&string[i]!='k'&&string[i]!='l'&&string[i]!='m'&&string[i]!='n'&&string[i]!='p'&&string[i]!='q'&&string[i]!='r'&&string[i]!='s'&&string[i]!='t'&&string[i]!='v'&&string[i]!='w'&&string[i]!='x'&&string[i]!='y'&&string[i]!='z')
            {
                continue;
            }
            if(string[i]=='b')
            {
                kons[0]++;
                continue;
            }
            if(string[i]=='c')
            {
                kons[1]++;
                continue;
            }
            if(string[i]=='d')
            {
                kons[2]++;
                continue;
            }
            if(string[i]=='f')
            {
                kons[3]++;
                continue;
            }
            if(string[i]=='g')
            {
                kons[4]++;
                continue;
            }
            if(string[i]=='h')
            {
                kons[5]++;
                continue;
            }
            if(string[i]=='j')
            {
                kons[6]++;
                continue;
            }
            if(string[i]=='k')
            {
                kons[7]++;
                continue;
            }
            if(string[i]=='l')
            {
                kons[8]++;
                continue;
            }
            if(string[i]=='m')
            {
                kons[9]++;
                continue;
            }
            if(string[i]=='n')
            {
                kons[10]++;
                continue;
            }
            if(string[i]=='p')
            {
                kons[11]++;
                continue;
            }
            if(string[i]=='q')
            {
                kons[12]++;
                continue;
            }
            if(string[i]=='r')
            {
                kons[13]++;
                continue;
            }
            if(string[i]=='s')
            {
                kons[14]++;
                continue;
            }
            if(string[i]=='t')
            {
                kons[15]++;
                continue;
            }
            if(string[i]=='v')
            {
                kons[16]++;
                continue;
            }
            if(string[i]=='w')
            {
                kons[17]++;
                continue;
            }
            if(string[i]=='x')
            {
                kons[18]++;
                continue;
            }
            if(string[i]=='y')
            {
                kons[19]++;
                continue;
            }
            if(string[i]=='z')
            {
                kons[20]++;
                continue;
            }
    
        }
    }
    
    void kon_big(char string[], int *n,int kons[])
    {
    
        int i;
    
        for(i=0;i<= *n;i++)
        {
    
            if(string[i]!='B'&&string[i]!='C'&&string[i]!='D'&&string[i]!='F'&&string[i]!='G'&&string[i]!='H'&&string[i]!='J'&&string[i]!='K'&&string[i]!='L'&&string[i]!='M'&&string[i]!='N'&&string[i]!='P'&&string[i]!='Q'&&string[i]!='R'&&string[i]!='S'&&string[i]!='T'&&string[i]!='V'&&string[i]!='W'&&string[i]!='X'&&string[i]!='Y'&&string[i]!='Z')
            {
                continue;
            }
            if(string[i]=='B')
            {
                kons[0]++;
                continue;
            }
            if(string[i]=='C')
            {
                kons[1]++;
                continue;
            }
            if(string[i]=='D')
            {
                kons[2]++;
                continue;
            }
            if(string[i]=='F')
            {
                kons[3]++;
                continue;
            }
            if(string[i]=='G')
            {
                kons[4]++;
                continue;
            }
            if(string[i]=='H')
            {
                kons[5]++;
                continue;
            }
            if(string[i]=='J')
            {
                kons[6]++;
                continue;
            }
            if(string[i]=='K')
            {
                kons[7]++;
                continue;
            }
            if(string[i]=='L')
            {
                kons[8]++;
                continue;
            }
            if(string[i]=='M')
            {
                kons[9]++;
                continue;
            }
            if(string[i]=='N')
            {
                kons[10]++;
                continue;
            }
            if(string[i]=='P')
            {
                kons[11]++;
                continue;
            }
            if(string[i]=='Q')
            {
                kons[12]++;
                continue;
            }
            if(string[i]=='R')
            {
                kons[13]++;
                continue;
            }
            if(string[i]=='S')
            {
                kons[14]++;
                continue;
            }
            if(string[i]=='T')
            {
                kons[15]++;
                continue;
            }
            if(string[i]=='V')
            {
                kons[16]++;
                continue;
            }
            if(string[i]=='W')
            {
                kons[17]++;
                continue;
            }
            if(string[i]=='X')
            {
                kons[18]++;
                continue;
            }
            if(string[i]=='Y')
            {
                kons[19]++;
                continue;
            }
            if(string[i]=='Z')
            {
                kons[20]++;
                continue;
            }
    
        }
    }
    
    int main()
    {
        int n, voc[5]={0,0,0,0,0}, kon[21]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // a,e,i,o,u
        char string[100];
    
        scanf("%99[^.]",string);
        fflush(stdin);
        n=strlen(string);
    
        voc_check(string,voc,&n);
        kon_check(string,&n,kon);
        voc_big(string,voc,&n);
        kon_big(string,&n,kon);
    
        printf("\n");
        printf("Vokale:\na: %d e: %d i: %d o: %d u: %d\n",voc[0],voc[1],voc[2],voc[3],voc[4]);
        printf("Konsonanten:\nb: %d c: %d d: %d f: %d g: %d\nh: %d j: %d k: %d l: %d m: %d\nn: %d p: %d q: %d r: %d s: %d\nt: %d v: %d w: %d x: %d y: %d\nz: %d\n",kon[0],kon[1],kon[2],kon[3],kon[4],kon[5],kon[6],kon[7],kon[8],kon[9],kon[10],kon[11],kon[12],kon[13],kon[14],kon[15],kon[16],kon[17],kon[18],kon[19],kon[20]);
        printf("\n");
    
        system("PAUSE");
        return 0;
    
    }
    

    Kleine Anmerkung:

    Von allen Aufgabenstellern musste der arme PRIEST am längsten warten,
    nur weil ich geglaubt habe string[2]=='a' irwas anderes vergleicht als den einzelnen char 🙄

    Ach und mir war nich so nach switch, darum die if's 😃

    Grüße
    agi 🙂



  • general bacardi schrieb:

    aXYZn schrieb:

    Ich glaube er meint, das GetAsyncKeyState...

    Mit C++ keine Chance. Muss für jedes Sytem neu kompilieret werden. Mit Interpretersprachen wie Java, Python geht es

    Hmmm... nman falls du das tatsächtlich meinen solltest, dann solltest du die Aufgabe neu stellen bzw. umändern.

    Grüße
    agi 🙂


Anmelden zum Antworten