Want to create interactive content? It’s easy in Genially!

Get started free

MATRICI IN C++

Alessia Danese

Created on March 3, 2023

Introduzione alle matrici in C++

Start designing with a free template

Discover more than 1500 professional designs like these:

Practical Presentation

Smart Presentation

Essential Presentation

Akihabara Presentation

Pastel Color Presentation

Modern Presentation

Relaxing Presentation

Transcript

MATRICI in C++

Start

Indice

Definizione

Dichiarare una matrice

Rappresentazione grafica

Matrice Rettangolare e Quadrata

Accesso agli elementi di una matrice

Gestione di una matrice

Le diagonali

DEFINIZIONE

Le MATRICI non sono altro che ARRAY a due dimensioni che possiamo rappresentare in formato tabellare. Proviamo a immaginarle come ''ARRAY DI ARRAY''. Ecco le caratteristiche principali di una matrice:

  • insieme omogeneo di elementi dello stesso tipo;
  • Possono avere più di una dimensione;
  • Ad ogni dimensione è associato un indice;
  • Insieme identificato da un nome.

+ info

Come dichiarare una matrice

Per dichiarare una matrice, si può procedere come segue: tipo nome_matrice [numeroRighe] [numeroColonne]; ESEMPIO: int matrix [4] [5]; La matrice sopra dichiarata avrà dimensione 4*5, dove 4 rappresenta il numero di righe, e 5 rappresenta il numero di colonne

Rappresentazione grafica

Questa è una matrice 4*5. L'indice delle righe andrà da 0 a 3 e l'indice delle colonne da 0 a 4. Ogni elemento della matrice sarà identificato sia dal suo indice di riga che dal suo indice di colonna. L'indice di riga (i) indica la riga a cui appartiene l'elemento. L'indice di colonna (j) indica la colonna a cui appartiene l'elemento.

ESEMPIO:

L'elemento evidenziato, appartenente alla matrice dichiarata int myMatrix [4] [5] ,è identificato come l'elemento myMatrix [0] [2].

0 1 2

01 2 3 4 5 6

Guardiamo la matrice 7*3

Siamo di fronte ad una matrice di dimensione 7 RIGHE x 3 COLONNE.

matrice[2][0]

matrice[5][1]

matrix[3]

matrix[6]

matrix[0]

matrix[2]

matrix[4]

matrix[5]

matrix[1]

MATRICE RETTANGOLARE E MATRICE QUADRATA

Si parla di matrice quadrata quando la matrice ha lo stesso numero di righe e di colonne. Esempio: matrice[5][5]

Si parla di matrice rettangolare quando una delle due dimensioni è diversa dalle altre. Esempio: matrice [3][5]

Accesso agli elementi di una matrice

Per accedere ad un elemento della matrice, si indica il nome della matrice e l'indice di riga e colonna. Se per esempio io avessi una matrice [5][2] e volessi stampare solo l'ultimo elemento, dovrei procedere con la seguente istruzione: cout << matrice [4][1];

In questo caso, ho popolato la mia matrice di float con i corrispondenti indici di riga e colonna che indicano la locazione del singolo elemento. Quindi in questo esempio, oltre a fare riferimento all'ultimo elemento come all'elemento matrice [4][1], anche l'output del contenuto sarà 4.1.

Come fare però a gestire l'input/output di tutta la matrice?

GESTIONE DI UNA MATRICE

Per una matrice valgono le stesse regole dell'array: attraverso l'utilizzo di indice e ciclo. La scansione però va applicata ad entrambe le dimensioni dell'array, quindi nel caso delle matrici, dovremmo ricorre a DUE indici (i e j) e DUE cicli (annidati). ESEMPIO: //Scrivi un programma che popoli una matrice 5x5. #include <iostream> #define DIM 5 using namespace std; int main() { int matrix[DIM][DIM]; for(int i = 0; i < DIM; i++){for(int j = 0; j < DIM; j++){ cin >> matrix [i][j];}} }

E per stampare la matrice? for(int i = 0; i < DIM; i++){ for(int j = 0; j < DIM; j++){ cout << matrix [i][j]; } cout << endl;}

LE DIAGONALI

Due elementi fondamentali quando inizierete a lavorare con le matrici saranno le diagonali. Distinguiamo: - LA DIAGONALE PRINCIPALE; - LA DIAGONALE SECONDARIA. Nella diagonale principale avremo i valori 76, 16, 54, 81 e nella diagonale secondaria avremo i valori 27, 32, 63, 24. Cosa hanno in comune le celle di questi elementi? La diagonale principale avrà tutti gli elementi con lo stesso indice di riga e colonna. Per la diagonale secondaria invece, partiamo dall'elemento in alto a destra (riga=0 e colonna=N-1) e da lì ci muoviamo sulla diagonale. Cosa succede? La riga aumenta (perché ci muoviamo verso il basso) mentre la colonna diminuisce (perché ci muoviamo verso sinistra)

The end.