Crea sito

In matematica, in particolare in algebra lineare, una matrice è una tabella ordinata di elementi.

Esempio

la matrice 3x3 cioè di tre righe e tre colonne è:

4      5    7

1      2    9

3     4    5

In informatica le matrice sono ancora degli elementi ordinati omogeneo cioè tutti gli elementi devono essere tutti dello stesso tipo. Posso dichiarare matrici con elementi tutti di tipo int, oppure tutti di tipo float, oppure tutti di tipo char in questo modo:

int matrice[2][3] ;   // matrice che ha due righe e tre colonne con elementi di tipo intero

char caratteri[4][5];  //matrice con 4 righe e 5 colonne con elementi di tipo char

float valori[4][5];   // matrice con  4 righe 3 5 colonne con elementi di tipo float.

Posso asssegnare ad ogni celletta un valore predefinito dall'interno in questo modo:

matrice[2][1]=1;    //in questo modo ho rirmpinto la cella di posizione [2][1] cioè seconda riga e prima colonna con il valore intero 1;

oppure

carattere[2][3]='A';   //in questo modo ho riempito la cella nella seconda riga e nella terza colonna con la lettera 'A'

 

Inserimento dei valori dall'esterno o dall'interno in una matrice

ESEMPIO:

#include
#include
int main()
{
     int matrice[3][5];
     int matrice2[3][5]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
           //dichiarazione 10 elementi di una matrice dall'interno
    
    int i,j;
    for(i=0;i<3;i++)
    {   for(j=0;j<5;j++){
      printf("\tInserire elemento [%d][%d]= ",i,j);
      scanf("%d",&matrice[i][j]);
    }

    }
   
    printf("\n\tMatrice 2x5 con valori inseriti dall'esterno\n");
    for(i=0;i<3;i++)
    {   for(j=0;j<5;j++){
      printf("%4d",matrice[i][j]);
    }
    printf("\n");
    }
    printf("\n\n\tMatrice 2x5 con valori inseriti dall'interno\n");
    for(i=0;i<3;i++)
    {   for(j=0;j<5;j++){
      printf("%4d",matrice2[i][j]);
    }
    printf("\n");
    }
    getch();
    }

Esercizio:

Realizza dei programmi con le matrici che abbiano il seguente output.

Matrice a spirale: versione 1

Realizziamo una matrice bidimensionale, inserendo i numeri a spirale, e visualiziamola sullo schermo. Per dare un tocco più elegante ho inserito anche il colore dello sfondo giallo e il testo rosso. Per inserire il colore ho utilizzato l'istruzione 

system("color EC");

dove la

E=giallo

C=rosso

Matrice a spirale: versione 2

Realizzare la matrice a spirale con l'istruzione seguente:

int matrice[righe][colonne]={1,2,3,4,5,6,20,21,22,23,24,7,19,32,34,25,8,18,31,36,26,9,17,30,29,28,27,10,16,15,14,13,12,11};

e poi con due cicli for concatenati stamparla con il comando printf.

Matrice incorniciata con caratteri

Un altro esercizio con le matrici è quello di scrivere dei caratteri all'interno della matrice ed incorniciarla come nella figura seguente.