Accedi

Bubble sort

PROBLEMA

Scrivere un programma in "C" che letto da tastiera un array monodimensionale, la cui lunghezza e’ fornita dall’utente: 

  1. stampa a video l’array; 
  2. ordina l’array con il bubble sort.
  3. stampa a video l’array ordinato.

CODICE SORGENTE

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]){
 
 int dimensione_vettore;
 int i, j, temp;
 printf("Inserire numero di elementi\n>");
 scanf("%i", &dimensione_vettore);
 system("cls");
 int vettore[dimensione_vettore];
 for (i=0;i<dimensione_vettore; i++){
  
  printf("Inserisci l'elemento numero %i\n>", i+1);
  scanf("%i", &vettore[i]);
  system("cls");
 }
 for (i=1; i<dimensione_vettore; i++){
  for (j=0; j<dimensione_vettore-i; j++){
   if (vettore[j]>vettore[j+1]){
    temp=vettore[j];
    vettore[j]=vettore[j+1];
    vettore[j+1]=temp;
   }
  }
 }
 printf("Vettore in ordine crescente:\n");
 for (i=0; i<dimensione_vettore; i++){
  printf("\t%i\n", vettore[i]);
 }
 printf("Vettore in ordine decrescente:\n");
 for (i=dimensione_vettore-1; i>=0; i--){
  printf("\t%i\n", vettore[i]);
 }
 system("PAUSE");
 return 0;
}