Bubble sort v4
PROBLEMA
Scrivere un programma in “c” che lette da tastiera due matrici nxn di interi, le cui dimensioni sono fornite dall’utente:
- stampa a video le due matrici;
- calcola la matrice somma c=a+b;
- stampa a video la matrice somma;
- calcola la matrice prodotto c=axb;
- stampa a video la matrice prodotto;
- ordina ogni riga della matrice somma e della matrice prodotto e le stampa a video(bubble sort).
CODICE SORGENTE
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int n, temp;
int i, j, k;
printf("Dimensione n:\n>");
scanf("%i", &n);
int a[n][n];
int b[n][n];
int c[n][n];
int d[n][n];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("Elemento vettore a (%i,%i)", i+1, j+1);
scanf("%i", &a[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("Elemento vettore b (%i,%i)", i+1, j+1);
scanf("%i", &b[i][j]);
}
}
printf("\nVettore a\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %i ", a[i][j]);
}
printf("\n");
}
printf("\nVettore b\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %i ", b[i][j]);
}
printf("\n");
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
c[i][j]=a[i][j]+b[i][j];
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
d[i][j]=a[i][j]*b[i][j];
}
}
printf("\nSomma - NON riordinato\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %i ", c[i][j]);
}
printf("\n");
}
printf("\nMoltiplicazione - NON riordinato\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %i ", d[i][j]);
}
printf("\n");
}
for(k=0;k<n;k++){
for (i=1; i<n; i++){
for (j=0; j<n-i; j++){
if (c[k][j]>c[k][j+1]){
temp=c[k][j];
c[k][j]=c[k][j+1];
c[k][j+1]=temp;
}
}
}
}
for(k=0;k<n;k++){
for (i=1; i<n; i++){
for (j=0; j<n-i; j++){
if (d[k][j]>d[k][j+1]){
temp=d[k][j];
d[k][j]=d[k][j+1];
d[k][j+1]=temp;
}
}
}
}
printf("\nSomma - Riordinato\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %i ", c[i][j]);
}
printf("\n");
}
printf("\nMoltiplicazione - Riordinato\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf(" %i ", d[i][j]);
}
printf("\n");
}
system("PAUSE");
return 0;
}