Selection sort v2
PROBLEMA
Scrivere un programma che letta da tastiera una matrice bidimensionale di interi le cui dimensioni sono fornite dall’utente:
- stampare a video la matrice inserita dall’utente;
- ordinare le righe della matrice(selection sort);
- stampare la matrice;
- ordinare le colonne della matrice(selection sort);
- stampare la matrice.
CODICE SORGENTE
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int i, j, k;
int temp;
int righe, colonne;
printf("Inserire il numero di righe\n>");
scanf("%i", &righe);
printf("Inserire il numero di colonne\n>");
scanf("%i", &colonne);
int a[righe+1][colonne+1];
for(i=0;i<righe;i++){
for(j=0;j<colonne;j++){
printf("Inserire valore Riga %i colonna %i\n>", i+1, j+1);
scanf("%i", &a[i][j]);
}
}
system("cls");
printf("\nPrimo punto\n");
for(i=0;i<righe;i++){
for(j=0;j<colonne;j++){
printf("[%i]\t", a[i][j]);
}
printf("\n");
}
system("PAUSE");
for(k=0;k<righe;k++){
for(i=0;i<colonne-1;i++){
for(j=i+1;j<colonne;j++){
if(a[k][j]<a[k][i]){
temp=a[k][i];
a[k][i]=a[k][j];
a[k][j]=temp;
}
}
}
}
printf("\nTerzo punto\n");
for(i=0;i<righe;i++){
for(j=0;j<colonne;j++){
printf("[%i]\t", a[i][j]);
}
printf("\n");
}
system("PAUSE");
for(k=0;k<colonne;k++){
for(i=0;i<righe-1;i++){
for(j=i+1;j<righe;j++){
if(a[j][k]<a[i][k]){
temp=a[i][k];
a[i][k]=a[j][k];
a[j][k]=temp;
}
}
}
}
printf("\nQuinto punto\n");
for(i=0;i<righe;i++){
for(j=0;j<colonne;j++){
printf("[%i]\t", a[i][j]);
}
printf("\n");
}
system("PAUSE");
return 0;
}