Ho bisogno di aiuto con un problema di informatica. Ho già provato a cercare e consultare altre persone che hanno avuto lo stesso problema ma purtroppo sono tutti scritti con codici che io non ho ancora studiato. Devo creare un programma in C dove devo ordinare delle stringhe in ordine alfabetico. Questo è quello che sono riuscita a fare ma esce dal programma prima di farmi inserire il primo nome e non so come risolvere. (ho usato il bubble sort come ordinamento).
questo è il programma:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#include <conio.h>
const int MAX = 10;
const int M = 100;
int main(){
char nome[MAX + 1], ordine[M], ch;
int n, i, j, k = 0, temp;
setlocale (LC_CTYPE, "italian");
puts ("Questo programma dati n nomi, li ordina alfabrticamente. \n");
puts ("Quanti nomi vuoi inserire?");
scanf ("%d", &n);
if (n > M){
printf("Il numero inserito è troppo grande. \n");
exit(EXIT_FAILURE);
system("pause");
}
for (i = 0; i < n; i++){
printf ("\nInserisci il %d° nome: ", i + 1);
ch = getch();
if (ch != '\r'){
nome[MAX + 1] = ch;
for (i = 0; i < n - 1; i++){
for (j = 0; j < n - 1 - i; j++){
if (strcmp(nome[j + 1], nome[j])<0){
ordine[k] = nome[j];
nome[j] = nome[j + 1];
nome[j + 1] = ordine[k];
}
}
}
k++;
}
}
puts("\n");
system ("pause");
return 0;
}