SomeWay BubbleSort

#include <stdio.h>

/*

Acquisisce un array di max 20 numeri e li stampa ordinati in modo crescente.

0 è il carattere d’uscita durante l’immissione

*/

#define MAX_NUM 25

void main (){

int seq[MAX_NUM], i, j, k, temp;

printf(“Inserisci la sequenza di numeri, digita 0 per finire ll’inserimento, puoi inserire un massimo di %d numeri\n”, MAX_NUM);

i = 0;

do {

scanf(“%d”, &seq[i]);

i++;

} while (i < MAX_NUM && (seq[i-1] != 0));

// stampa di controllo 1

//Stampo l’array prima di modificarlo

printf(“CHECK 1 – L’array inserito prima dell’elaborazione e’\n”);

for (k=0; k< MAX_NUM && (seq[k]!=0); k++)

printf(” %d “, seq[k]);

printf(“\n\n”);

//Fine stampa array

for (i = 0; i < MAX_NUM && (seq[i] != 0); i++){

for (j = 0 ; j < MAX_NUM – 1 && (seq[j + 1] != 0); j++){

if (seq[j] > seq[j+1]) {

//comandi per lo scambio appoggiandomi su una variabile temporanea temp

temp = seq[j];

seq[j] = seq[j + 1];

seq[j + 1] = temp;

//fine scambio

}

// stampa di controllo 2

// Questa stampa ti aiuta perchè durante il primo ciclo esterno con i = 0 alla fine di ogni ciclo interno (quello in j) ti mette a video come è diventato l’array dopo una iterazione

if (i == 0) {

printf(“CHECK 2 – L’ array dopo l’iterazione n. %d del ciclo in j con i = %d e’ \n”, j, i);

for (k=0; k< MAX_NUM && (seq[k]!=0); k++)

printf(” %d “, seq[k]);

printf(“\n\n”);

}

// fine stampa di controllo

}

// stampa di controllo 3

// Questa stampa ti aiuta perchè dopo ogni ciclo esterno (quello in i) ti mette a video come è diventato l’array dopo una iterazione

printf(“CHECK 3 – Lo stato dell’ array dopo l’iterazione n. %d del ciclo in i e’ \n”, i);

for (k=0; k< MAX_NUM && (seq[k]!=0); k++)

printf(” %d “, seq[k]);

printf(“\n\n”);

// fine stampa di controllo

}

printf(“L’array ordinato è: \n”);

for (k=0; k< MAX_NUM && (seq[k]!=0); k++)

printf(” %d “, seq[k]);

}

Share:
  • Print
  • Facebook
  • Google Bookmarks
  • Google Buzz
  • Twitter
This entry was posted in C-trial, InfoLearn. Bookmark the permalink.

Comments are closed.