Come eliminare definitivamente una riga di una matrice

di il
7 risposte

Come eliminare definitivamente una riga di una matrice

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?

7 Risposte

Devi accedere o registrarti per scrivere nel forum
7 risposte