/* Programma cppBubbleSortArrayCaratteri Riontino Raffaele I.T.I.S. Ettore Molinari - Milano - 21-2-'10 Caricare un array di caratteri, ordinarlo e visualizzare l'array ordinato */ #include #include #include #define dim 10 using namespace std; main() { int i,k,flag; char scelta,caratteri[dim], temp[dim]; do{ system ("cls"); cout << "\n\t\t Bubble Sort\n\n"; cout << "\t Caricamento di un array di caratteri \n\n\t\te riordino alfabetico\n\n\t"; //inserimento dati do{ k=1; cout << "\n\tinserisci l'array di caratteri : "; cin >> caratteri; //conteggio caratteri if (strlen(caratteri) > dim) { cout << "\n\n\tArray troppo lungo !! Ripeti . \n"; } //conversione da maiuscolo a minuscolo i=0; while (caratteri[i] != '\0') { caratteri[i] = tolower (caratteri[i]); if ((caratteri[i] < 97 ) || (caratteri[i] > 122)) {k=0;} i++; if (caratteri[i] == '\0') {caratteri[i] = '\0';} } if (k == 0) {cout << "\n\n\tSono stati inseriti dei caratteri non validi!! Riprova.\n\n";} }while ((strlen(caratteri) > dim) || (k == 0)); //riordino con bubble sort flag=1; k=strlen(caratteri)-1; while ((flag == 1) && (k > 0)) { flag=0; for (i=0 ; i caratteri[i+1]) { temp[i]=caratteri[i+1]; caratteri[i+1]=caratteri[i]; caratteri[i]=temp[i]; flag=1; } //chiusura dell'if }//chiusura del for k=k-1; }//chiusura del while //visualizzazione in ordine crescente cout << "\n\n\tArray di caratteri riordinato = : " << caratteri; cout << "\n\n\tVuoi ripetere il programma ? "; cin >> scelta; } while (scelta == 's'); system("cls"); cout << "\n\n\t\t\t programma terminato\n\n"; cout << "\n\tRiontino Raffaele I.T.I.S. Ettore Molinari - Milano - 21-2-'10\n\n\n\t\t "; system ("pause"); } //chiusura main