Strings mit nummer



  • Hallo!
    Ich wollte ein Paar strings
    z.b.
    Computer
    Maus
    Tastatur
    eine nummer oder so was ähnliches wie ne ip geben
    z.b.
    C. = 1
    M. = 2
    T. = 3

    und dann die Nummern per zufalzprinzip erstellen das das dann z.b. so ist
    2.
    3.
    1.

    und dann nach der reihenfolge der nummern die strings ausgegeben werden

    (ich denke das man auch gleich die strings per zufalliger reihenfolge ausgeben kann aber ich brauch die mehtode wie oben erklärt.)
    🙂 :p 😃



  • strings in einen vector speichern, zufalls zahlen bilden und per index auf die strings zugreifen.



  • Hallo S.o.M.
    Danke für die antwort nur weiss ich nicht so richtig wie ich das anstellen soll.



  • Original erstellt von wuseldusellala:
    Danke für die antwort nur weiss ich nicht so richtig wie ich das anstellen soll.

    na dann fang mal an, liefere mir einen ansatz und wir reden darueber wo dir was noch nicht ganz klar ist.

    vector == array
    falls das hilft



  • char strings[2][30]; //4 30iger Felder anlegen
    
    strings[0] = "HALLO";
    strings[1] = "TSCHÜSS";
    
    printf("\n%s ,%s",strings[1],strings[0]);
    

    und das funktiioniert leider nicht



  • strcpy



  • Und was bringt mir das wenn ich denn string kopiere 😕
    (hab eine weile darüber nachgedacht aber es hat zu keinem ergebnis geführt)
    Danke das ihr mir hilft



  • So in etwa:

    char *meinstring[]={"Computer", "Maus", "Tastatur"};
    int i, zufallszahl;
    ...
    srand(time(NULL));
    zufallszahl=rand()%3+1;
    for(i=0; i<3; ++i)
        printf("%d: %s\n", zufallszahl, meinstring[zufallszahl-1]);
    ...
    

    Allerdings würde ich dir raten, eine Abfrage einzubauen, sodass kein String doppelt ausgegeben wird. Also in die i-Schleife:

    int benutzt[3], doppelt;
    ...
    do{
        int j;
        doppelt=0;
        zufallszahl=rand()%3+1;
        for(j=0; j<=i; ++j)
        if(benutzt[zufallszahl-1]==1){
            doppelt=1;
            break;
        }
    }while(doppelt);
    benutzt[zufallszahl-1]=1;
    printf("%d: %s\n", zufallszahl, meinstring[zufallszahl-1]);
    ...
    

Anmelden zum Antworten