Ordinare una matrice in ordine decrescente

di il
5 risposte

Ordinare una matrice in ordine decrescente

Dovrei scrivere una funzione che mi permetta di stampare a video una matrice,ordinando le sue righe in modo decrescente rispetto ai valori delle loro somme.
Ho provato in questo modo(e ovviamente non funziona xD)

codice:

// R è il vettore che contiene la somma delle righe
for(int i=0;i<3;i++)
{
	for(int j=0;j<4;j++)
	{
		if(R[i]<R[i+1])
		{   int tmp;
		    tmp=x[i][j];
			x[i][j]=x[i+1][j];
			x[i+1][j]=tmp;	
		}
	cout << x[i][j] << " ";}
	
e capisco anche qual è il problema(cioè che in questo modo se una riga deve "salire di due o più posti" non può farlo) e ho provato a risolverlo facendo un ciclo while che racchiuda il doppio ciclo for con condizione(R<R[i+1]),ma in questo modo mi stampa matrici all'infinito,come se non fosse mai soddisfatta la condizione...ma non capisco il perchè,visto che dovrebbero bastare due doppi cicli for per ordinarla(la matrice è
5 6 1 25
10 22 2 12
55 11 3 1 )
P.S. ho già controllato che la somma delle righe sia stata effettuata correttamente

5 Risposte

Devi accedere o registrarti per scrivere nel forum
5 risposte