tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
379
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Punish Punish ist offline Grünschnabel
    Registriert seit
    May 2010
    Beiträge
    4
    Hallo
    Habe ein Problem mit Arrays.
    Also ich habe ca. 35 Arrays die immer eine Größe von 9 haben.

    Ich habe nun diese 35 Arrays:

    Code :
    1
    2
    3
    4
    5
    
    char* ARRAY1 [9] = {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array1" };
    char* ARRAY2 [9] = {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array2" };
    char* ARRAY3 [9] = {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array3" };
    char* ARRAY4 [9] = {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array4" };
    ... das 35 mal

    und dann beim Aufruf diese 35 Zeilen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    for(int i=0;i<8;i=i+1)
      {
    meineFunktion(ARRAY1 [i]);
    meineFunktion(ARRAY2 [i]);
    meineFunktion(ARRAY3 [i]);
    meineFunktion(ARRAY4 [i]);
    ... das auch 35 mal
      }

    meine Frage nun wie bekomme ich das mit weniger Zeilen hin ?



    gruß
    Punish
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Kreiere ein Array von diesen Arrays und verwende eine weitere Schleife.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Punish Punish ist offline Grünschnabel
    Registriert seit
    May 2010
    Beiträge
    4
    hä ?
    ich kann dir nicht folgen ?!

    du meinst

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    char* ARRAY1 [9] = {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array1" };
    char* ARRAY2 [9] = {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array2" };
    char* ARRAY3 [9] = {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array3" };
    char* ARRAY4 [9] = {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array4" };
    ... das 35 mal
    +
    char* ARRAYALLE [35] = {ARRAY1, ARRAY2, ARRAY3 , ARRAY4, ...... bis 35};

    und dann


    Code :
    1
    2
    3
    4
    5
    
    for(int i=0;i<8;i=i+1)
      {
    meineFunktion(ARRAYALL [i]);
    [B]und nun ?[/B]
      }
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von Punish Beitrag anzeigen
    und dann


    Code :
    1
    2
    3
    4
    5
    
    for(int i=0;i<8;i=i+1)
      {
    meineFunktion(ARRAYALL [i]);
    [B]und nun ?[/B]
      }
    Na du mußt eine Schleife erstellen statt der manuellen 35 Aufrufe:
    Code c:
    1
    2
    3
    4
    5
    6
    
    for(int i=0;i<8;i=i+1)
      {
        for (int j = 0; j < 35; ++j) {
          meineFunktion(ARRAYALL[j][i]);
        }
    }
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Punish Punish ist offline Grünschnabel
    Registriert seit
    May 2010
    Beiträge
    4
    mh Danke.
    Hat aber leider nicht so geklappt wie du es meintest.

    Habe ne andere Lösung gefunden:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    // ein Array mit 35 zeilen und 9 spalten
    char* ARRAY1 [35][9] = { {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array1" },
    {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array2" },
    {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array3" },
    {"Dies", "ist", "ein", "Array", "mit", "neun", "tollen", "Feldern", "Array4" }, 
    ... das 35 mal 
    };

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    for(int i=0;i<8;i=i+1)                                                          // Schleife durchläuft alle Arrayzeilen
      {
      for (int j = 0; j < 35; ++j)                                                  // Schleife durchläuft alle Arrayspalten
          {
          meineFunktion(Progs[j][i]);
          }
      }
     

  6. #6
    Cromon Cromon ist offline Mitglied Brillant
    Registriert seit
    Apr 2008
    Beiträge
    819
    Ist dir aufgefallen dass dein Code identisch ist mit dem von deepthroat? Das ist nicht "ne andere Lösung".
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 26.11.10, 11:08
  2. Wie viele User hat diese Seite und wie viele davon sind on?
    Von TheRealGreenVirus im Forum Smalltalk
    Antworten: 6
    Letzter Beitrag: 21.04.09, 13:14
  3. Antworten: 2
    Letzter Beitrag: 21.04.08, 08:13
  4. Habe viele viele Fragen !
    Von ThePretender im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 8
    Letzter Beitrag: 06.05.02, 22:58
  5. Viele viele Layer kopieren ;)
    Von Tackleberry im Forum Photoshop
    Antworten: 4
    Letzter Beitrag: 30.09.01, 22:28

Stichworte