Bubble sort v3
PROBLEMA
Scrivere un programma in “c” che letto da tastiera un array di interi monodimensionali:
- stampa a video l’array;
- ordina con bubble sort l’array;
- stampa a video l’array ordinato;
- stampa a video il numero dei pari e dei dispari presenti nell’array.
CODICE SORGENTE
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
//sezione dichiarativa
int dimensione_vettore;
int i, j, temp, pari=0, dispari=0;
printf("Inserire numero di elementi\n>");
scanf("%i", &dimensione_vettore);
system("cls");
int vettore[dimensione_vettore];
//caricamento vettore
for (i=0;i<dimensione_vettore; i++){
printf("Inserisci l'elemento numero %i\n>", i+1);
scanf("%i", &vettore[i]);
system("cls");
}
//output vettore inserito
printf("Elementi inseriti nel vettore:\n");
for (i=0; i<dimensione_vettore; i++){
printf("\t%i\n", vettore[i]);
}
//ordinamento ordine crescente vettore
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;
}
}
}
//outpur vettore riodinato
printf("Elementi riordinati nel vettore:\n");
for (i=0; i<dimensione_vettore; i++){
printf("\t%i\n", vettore[i]);
}
//conteggio dei pari
for(i=0;i<dimensione_vettore;i++){
if(vettore[i]%2==0)
pari++;
}
//conteggio dei dispari
for(i=0;i<dimensione_vettore;i++){
if(vettore[i]%2!=0)
dispari++;
}
//visualizzazione elementi pari
printf("Elementi pari nel vettore: %i\n", pari);
for(i=0;i<dimensione_vettore;i++){
if(vettore[i]%2==0)
printf("\t%i\n", vettore[i]);
}
//visualizzazione elementi dispari
printf("Elementi dispari nel vettore: %i\n", dispari);
for(i=0;i<dimensione_vettore;i++){
if(vettore[i]%2!=0)
printf("\t%i\n", vettore[i]);
}
//uscita
printf("Preme un tasto per chiudere il programma . . .");
getch();
return 0;
}