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
Posta un commento