C++: Completare la funzione voidmatrixTrasp() che prende in input una matrice e la modifica scambiando il valore in riga i-esima e colonna j-esima con il valore in riga j-esima e colonna i-esima


Completare la funzione voidmatrixTrasp() che prende in input una matrice e la modifica scambiando il valore in riga i-esima e colonna j-esima con il valore in riga j-esima e colonna i-esima:


#include <iostream>

using namespace std;

consti nt N = 3; // Costante per le dimensioni della matrice

// Funzione per trasporre una matrice

voidmatrixTrasp(intmat[N][N]) {

int temp;


// Scorrere la matrice e scambiare gli elementi

for (int i = 0; i < N; i++) {

for (int j = i + 1; j < N; j++) {

temp = mat[i][j];

mat[i][j] = mat[j][i];

mat[j][i] = temp;

}

}

}



int main() {

int mat[N][N] = {

{1, 2, 3},

{4, 5, 6},

{7, 8, 9}

};


// Stampa della matrice originale

cout<< "Matrice originale:" <<endl;

for (int i = 0; i < N; i++) {

for (int j = 0; j < N; j++) {

cout<<mat[i][j] << " ";

}

cout<<endl;

}

// Trasposizione della matrice

matrixTrasp(mat);


// Stampa della matrice trasposta

cout<< "\nMatrice trasposta:" <<endl;

for (int i = 0; i < N; i++) {

for (int j = 0; j < N; j++) {

cout<<mat[i][j] << " ";

}

cout<<endl;

}

return 0;

}


Questo codice C++ definisce una funzione matrixTrasp() che scambia gli elementi in riga i-esima e colonna j-esima con gli elementi in riga j-esima e colonna i-esima di una matrice quadrata di dimensione N x N. Viene anche fornito un esempio completo con una matrice 3x3.

Commenti

Post popolari in questo blog

Simulazioni di reti (con Cisco Packet Tracer)

Esercizi in Excel e fogli di Google