Accedi

Bubble sort v2

PROBLEMA

Scrivere un programma in “c” che letti da tastiera 2 array di interi monodimensionali:

  1. stampa a video I due array;
  2. fonde I due arry in un terzo array;
  3. stampa a video il terzo array;
  4. ordina con bubble sort il terzo array;
  5. 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;
}