Index eines Arrays



  • Hallo!

    Habe folgendes Array:

    char * color[] = {"black", "red", "green", "yellow", "blue", "magenta", "cyan", "white"};
    

    Ich möchte nun an den Index jeder beliebigen Farbe herankommen. Soll heißen, für "green" ist der Index 2, da color[2]!

    Was wäre die eleganteste Lösung?

    Gruß
    Michael



  • ?

    color[2] ist "green" - das hast du ja schon selber gesagt. Doch was willst du jetzt 😕

    Willst du von "green" auf 2 kommen?

    for(int i=0; i<8; ++i)
    {
      if(!strcmp(color[i],"green")) return i;
    }
    return -1;
    


  • Hallo!

    Ja, genau. Ich möchte von "green" den Index haben.

    Läßt sich das ganze eventuell auch als Macro schreiben?

    Danke!

    Gruß
    Michael



  • bloodshower
    ***********

    Was wäre die eleganteste Lösung?

    versuchs mal mit enum, ich hab keine ahnung ob es elegant ist...aber ich find es besser

    tschöö

    tt


Log in to reply