Accedi

Bubble sort v3

PROBLEMA

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

  1. stampa a video l’array;
  2. ordina con bubble sort l’array;
  3. stampa a video l’array ordinato;
  4. 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;
}