Traccia: L'utente inserisce una matrice N x M composta da numer interi. il programma scambia le righe pari con quelle dispari. le dimensioni della matrice vengono scelte dall'utente tra i valori massimi fissati all interno del programma (10x20)
Questo è il programma che ho scritto
Il problema e che non mi scambia la prima riga con l'ultima e neanche le centrali
#include <iostream>
using namespace std;
void creamat(int m[][20], int nr, int nc);
void visualizzamat(int m[][20], int nr, int nc);
int main ()
{
int mat[10][20],i,j,n,m,appo=0, pippo=0;
do{
cout<<"Quante righe deve avere la matrice"<<endl;
cin>>n;
}while(n<0||n>10);
do{
cout<<"Quante colonne deve avere la matrice?"<<endl;
cin>>m;
}while(m<0||m>20);
creamat(mat, n,m);
visualizzamat(mat, n,m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(i%2==0){
appo=mat[i][j];
mat[i][j]=mat[i+1][j];
mat[i+1][j]=appo;
}
else if(i%2!=0){
appo=mat[i][j];
mat[i][j]=mat[i+1][j];
mat[i+ 1][j]=appo;}
visualizzamat(mat, n,m);
system ("pause");
return 0;
}
void creamat(int m[][20], int nr, int nc)
{
cout<<"Inserisci i numeri"<<endl;
for(int i=0;i<nr;i++)
for(int j=0;j<nc;j++)
cin>>m[i][j];
}
void visualizzamat(int m[][20], int nr, int nc)
{
cout<<"La matrice contiene i seguenti numeri:"<<endl;
for(int i=0;i<nr;i++)
{
cout<<endl;
for(int j=0;j<nc;j++)
cout<<m[i][j]<<" ";
}
}