|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Sep 2013
Messaggi: 1
|
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:
//(C++) 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] << " ";}
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 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
se devi solo stampare in modo ordinato, perchè complicarti la vita nel riordinamento della matrice?
hai il vettore delle R somme (uguale a quello della matrice, ovviamente), ricerca il minimo e stampa la riga della matrice relativa all'indice di quel minimo, poi cerchi il minimo "successivo".
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2007
Città: Albiolo (CO)
Messaggi: 165
|
- Ti costruisci un array bidimensionale contenente [indice di riga, somma della riga]
- Ordini tale matrice in base al campo somma con un qualsiasi algoritmo (es: quicksort) - Stampi a video la righe della tua matrice iniziale seguendo l'ordine del campo indice della matrice che hai ordinato Es: matrice iniziale |2 4 3 | |2 1 3 | |3 1 4 | array bidimensionale con [ind.riga, somma riga] [[1,9],[2,6],[3,8]] ordini tale array sulle somme [[2,6],[3,8],[1,9]] stampi a video l righe della matrice iniziale seguendo l'ordine dettato dai campi indice dell'array (prima riga 2, poi riga 3, infine riga 1) |2 1 3 | |3 1 4 | |2 4 3 | EDIT: ovviamente ho ordinato la matrice in modo crescente. Sorry! Ultima modifica di PHØΞИIX : 26-09-2013 alle 13:35. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:41.



















