Bubble sort v2
PROBLEMA
Scrivere un programma in “c” che letti da tastiera 2 array di interi monodimensionali:
- stampa a video I due array;
- fonde I due arry in un terzo array;
- stampa a video il terzo array;
- ordina con bubble sort il terzo array;
- stampa a video l’array ordinato.
CODICE SORGENTE
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int dimensione_vettore_1, dimensione_vettore_2;
int i, j, temp;
printf("Inserire numero di elementi del primo vettore\n>");
scanf("%i", &dimensione_vettore_1);
printf("Inserire numero di elementi del secondo vettore\n>");
scanf("%i", &dimensione_vettore_2);
system("cls");
int vettore_1[dimensione_vettore_1];
int vettore_2[dimensione_vettore_2];
int vettore_3[dimensione_vettore_1+dimensione_vettore_2];
for (i=0;i<dimensione_vettore_1; i++){
printf("Inserisci l'elemento numero %i del primo vettore\n>", i+1);
scanf("%i", &vettore_1[i]);
system("cls");
}
for (i=0;i<dimensione_vettore_2; i++){
printf("Inserisci l'elemento numero %i del secondo vettore\n>", i+1);
scanf("%i", &vettore_2[i]);
system("cls");
}
printf("Primo vettore inserito:\n");
for (i=0; i<dimensione_vettore_1; i++){
printf("\t%i\n", vettore_1[i]);
}
printf("Secondo vettore inserito:\n");
for (i=0; i<dimensione_vettore_2; i++){
printf("\t%i\n", vettore_2[i]);
}
for (i=0;i<dimensione_vettore_1;i++){
vettore_3[i]=vettore_1[i];
}
for (i=dimensione_vettore_1;i<dimensione_vettore_1+dimensione_vettore_2;i++){
vettore_3[i]=vettore_2[i-dimensione_vettore_1];
}
printf("Terzo vettore inserito:\n");
for (i=0; i<dimensione_vettore_1+dimensione_vettore_2; i++){
printf("\t%i\n", vettore_3[i]);
}
for (i=1; i<dimensione_vettore_1+dimensione_vettore_2; i++){
for (j=0; j<dimensione_vettore_1+dimensione_vettore_2-i; j++){
if (vettore_3[j]>vettore_3[j+1]){
temp=vettore_3[j];
vettore_3[j]=vettore_3[j+1];
vettore_3[j+1]=temp;
}
}
}
printf("Vettore in ordine crescente:\n");
for (i=0; i<dimensione_vettore_1+dimensione_vettore_2; i++){
printf("\t%i\n", vettore_3[i]);
}
printf("Vettore in ordine decrescente:\n");
for (i=dimensione_vettore_1+dimensione_vettore_2-1; i>=0; i--){
printf("\t%i\n", vettore_3[i]);
}
system("PAUSE");
return 0;
}