Advertisement
phoenix79194

2dim-arrays

Feb 28th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.83 KB | None | 0 0
  1. // 2-dimensionale Arrays
  2. /*
  3.     Allgemein ist ein 2-dimensionales Array ein Array aus Arrays. So wie wir bei einem 1-dimensionalen Array die Felder zählen,
  4.     so können wir natürlich auch bei einer ganzen Ansammlung von Arrays die einzelnen Arrays durchnummerieren.
  5.    
  6.     Diese Art der Interpretation ist allgemeingültig, wir werden aber auch im Einzelfall folgende Anwendungen betrachten können:
  7.     "Matrix", oder "Rechenblatt" oder "Schachbrett"
  8.     Oder Bei Strings: eine Liste von (durchnummerierten) Texten, denn jeder Text its eine Ansammlung von durchnummerierten Zeichen
  9.     (1. Dimension) und nun werden auch die Texte durchnummeriert (2. Dimension)
  10.  
  11. */
  12.  
  13. #include<stdio.h>
  14.  
  15. char nenneInhaltVon(char brett[8][9],int a,int b)
  16. {
  17.     return brett[a][b];
  18. }
  19.  
  20. main()
  21. {
  22.     system("chcp 1252");
  23.     system("cls");
  24.    
  25.     // DEKLARSTION und DEFINITION --------------------------------------------------------------------------------------------
  26.    
  27.     // [Anzahl der Arrays][Länge jedes einzelnen Arrays]
  28.     int arr[3][4]; // ein leeres 2-dimensionales Array. Genauer gilt 3 Arrays mit jeweils 4 Feldern
  29.    
  30.    
  31.    
  32.     // INITIALISIERUNG --------------------------------------------------------------------------------------------------------
  33.     // a) OHNE syntactical sugar
  34.    
  35.     // Das erste Feld des ersten Arrays mit 25 zu füllen:
  36.     arr[0][0]=25;
  37.     // Das 3. Feld des 2.Arrays soll mit 100 gefüllt werden:
  38.     arr[1][2]=100;
  39.     // Das letzte Feld im letzten Array mit 22 füllen:
  40.     arr[2][3]=22;
  41.    
  42.     // b) MIT syntactical sugar
  43.    
  44.     int brr[3][4]={
  45.                       {1,2,3,4}, // das ERSTE Array, also die Felder array[0][0] bis array[0][3]
  46.                       {10,20,30,40}, // das ZWEITE Array, also die Felder array[1][0] bis array[1][3]
  47.                       {100,200,300,400} // das DRITTE Array, also die Felder array[2][0] bis array[2][3]
  48.                   };
  49.    
  50.    
  51.    
  52.     // AUSLESEN eines 2-dimensionalen Arrays ------------------------------------------------------------------------------------
  53.    
  54.     int i,j; // Die beiden benötigten Zählvariablen
  55.     for(i=0;i<3;i++) // Diese äußere Schleife läuft die einzelnen Arrays ab
  56.     {
  57.         printf("Die Werte des %i-ten Arrays:\n",i);
  58.         for(j=0;j<4;j++) // Diese innere Schleife läuft alle Felder (des jeweils aktuellen Arrays) ab
  59.         {
  60.             printf("brr[%i][%i]=%i ",i,j,brr[i][j]);
  61.         }
  62.         printf("\n\n");
  63.     }
  64.    
  65.    
  66.     // --------------------------------------------------------------------------------------------------------------------------
  67.     // --------------------------------------------------------------------------------------------------------------------------
  68.     // 2-dimensionale Character-Arrays
  69.     // Deklaration und Definition und Initialisierung
  70.    
  71.     char text[4][100]={
  72.                           "Ein erster Text", "Ein zweiter Text", "Ein dritter ...", "und noch einer"
  73.                       };
  74.                      
  75.     // Ein einzelnes Zeichen aus unserem 2-dimensionalen Character Array
  76.     printf("Kontrollausgabe (1 Zeichen): text[1][2]=%c\n",text[1][2]);
  77.    
  78.     // Ein String aus unserem 2-dimensionalen Character Array
  79.     printf("Kontrollausgabe (1 String): text[1]=%s\n",text[1]); // text[i]=Startadresse des i-ten Strings
  80.                                                                 // text[i]=&text[i][0]
  81.                                                                
  82.    
  83.     // ----------------------------------------------------------------------------------------------------------------------
  84.     // Aufruf von Funktionen (Call by Reference) mit dem Übergabewert (Startadresse) eines 2-dimensionalen Arrays
  85.    
  86.     // [8 Strings] mit [8 Zeichen + 1 Stoppzeichen]
  87.     char schachbrett[8][9]={
  88.                                 "tsldklst",
  89.                                 "bbbbbbbb",
  90.                                 "........",
  91.                                 "........",
  92.                                 "........",
  93.                                 "........",
  94.                                 "BBBBBBBB",
  95.                                 "TSLDKLST"
  96.                            };
  97.    
  98.     char figur=nenneInhaltVon(schachbrett,0,0); // Rückgabewert ist der Character des übergebenen Feldes
  99.     printf("Kontrollausgabe: Inhalt von schachbrett[0][0]=%c",figur);
  100.    
  101.    
  102.     printf("\n\n\n\n");
  103.     system("pause");
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement