Buonasera a tutti,
Nel seguente esercizio devo eliminare la riga (scelta da me) di una matrice inserita manualmente.
Questo è il codice:
#include<iostream>
using namespace std;
int main()
{
int N,M,K;
int matrix[10][10];
cout << "nro righe=";
cin >> N;
cout << "\nnro colonne=";
cin >> M;
//Lettura matrice
for(unsigned int i = 0; i < N; ++i)
{
for(unsigned int j = 0; j < M; ++j)
{
cout << "\na(" << i << "," << j << ")=";
cin >> matrix [i][j];
}
}
//Eliminazione riga
cout << "\nriga da eliminare=" << "\n";
cin >> K;
if (K != (N-1))
{
for(unsigned int i = K; i < N-1; ++i)
{
for(unsigned j = 0; j < M; ++j)
matrix[i][j] = matrix[i+1][j];
}
}
for(unsigned int i = 0; i < N-1; ++i)
{
for(unsigned int j = 0; j < M; ++j)
{
cout << "a(" << i <<"," << j << ")=" << matrix[i][j] << "\n";
}
}
}
Ora, effettivamente mi restituisce in stampa la matrice senza la riga selezionata, ma in realtà la dimensione della matrice è rimasta invariata ed in particolare le ultime due righe della matrice coincidono. Qual è il modo giusto per svolgere l'esercizio e ridurre effettivamente il numero di righe della matrice?