Kahemõõtmeline massiiv e. maatriks



Massiiv on samatüübiliste elementide hulk

Esimene rea indeks on alati 0, esimese veeru indeks on alati 0.
Deklareerimisel on suurim indeks elementide arvust 1 võrra väiksem.




Kahemõõtmelise massiivi deklareerimine:

elemendi_tüüp massiivi_nimi[ridade_arv][veergude_arv];

NÄIDE:  5x4 elemendilise täisarvude maatriksi deklareerimine:


int taisarvudeMaatriks[5][4];


NÄIDE:  10x8 elemendilise reaalarvude vektori deklareerimine:

double reaalarvudeMaatriks[10][8];

Maatriksi elementide poole pöördumine väärtuste omistamiseks:

maatriks[0][0]=12;
maatriks[0][1]=15;
maatriks[0][2]=21;
jne.

Maatriksi elementide poole pöördumine väärtuste sisestamiseks klaviatuurilt:

scanf("%d",&
maatriks[0][0]);
scanf("%d",&maatriks[0][1]);
scanf("%d",&maatriks[0][2]);
jne.

Maatriksi elementide poole pöördumine väärtuste väljastamiseks ekraanile:

printf("%d",
maatriks[0][0]);
printf("%d",maatriks[0][1]);
printf("%d",maatriks[0][2]);
jne.

Programmide koostamisel kasutatakse massiivide töötlemiseks tihtipeale kordusi (for, while):

/*ridade loendur ja veergude loendur*/
int i,j;
/*ridade arv, veergude arv */
int n=5, m=6;
/*täisarvude maatriks*/
int maatriks[n][m];

for(i=0; i<n; i++)
{
    for(j=0; j<m; j++)
    {
       printf("Sisesta vektori element:");
       scanf("%d", &vektor[i]);
    }
}



Näide 5: Sisesta 4x4 täisarvude maatriks. Väljasta saadud maatriks ekraanile.
Kasutada  FOR tsüklit.

#include <stdio.h>

/* määrame define-direktiivi abil maatriksi ridade ja veergude arvu */
#define RIDU 4
#define VEERGE 4

int main(void)
{      
    int maatriks[RIDU][VEERGE]; /* etteantud mõõtmetega maatriksi deklareerimine*/                    
    int i,j;                    /* tsüklimuutujad */
   
    /* kordus maatriksi elementide väärtuste sisestamiseks */
    for (i=0;i<RIDU;i++)
    {
        for(j=0; j<VEERGE; j++)
        {
          printf("Sisesta %d.rea %d.veeru element: ",i,j);
          scanf("%d",&maatriks[i][j]);
        }
    }   
   
    for (i=0;i<RIDU;i++)
    {
        for(j=0; j<VEERGE; j++)
        {
           printf("%3d",maatriks[i][j]);
        }
        printf("\n");       
    }
   
    printf("\n");
    return 0;
}



Vaata ka selgitavat animatsiooni: