|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: Oct 2006
Messaggi: 170
|
Ordinamento per inserzione con file.
Porre in un file di nome data.txt un elenco (almeno 50) di nomi di studenti,numeri identificati, eta e voti.
Rossi Mario 910017 21 30 Bianchi Ernesto 0100102 23 18 ..... ..... Scrivere un programma di nome reorder utilizzabile per leggere i dati nel file e porli in un array classe di tipo struct student. Inoltre il programma deve stampare a video un elenco ordinato degli studentu e dei relativi voti. Devono essere stampati per primi gli studenti con voto 30, seguiti da quelli con voto 29 e cosi via. Gli studentu con la setssa votazione dovrebbero essere elencati in ordine alfabetico. Per l'ordinamento, utilizzare l'algoritmo di ordinamento per inserzione. Qualcuno ha qualche idea? Grazie |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Oct 2006
Messaggi: 170
|
A volte sono davvero coglione, se qualcuno volesse postare codifiche, fatelo per favore in C semplice.
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2006
Messaggi: 104
|
Codice:
void insertion_sort(int x[], int n)
{
int i, j, app;
for (i=1; i<n; i++) {
app = x[i];
j = i-1;
while ((j>=0) && (x[j]>app)) {
x[j+1] = x[j];
j--;
}
x[j+1] = app;
}
}
L'algoritmo utilizza due indici: il primo punta inizialmente al secondo elemento dell'array, il secondo inizia dal primo. Se il primo elemento è maggiore del secondo, i due valori vengono scambiati. Poi il primo indice avanza di una posizione e il secondo indice riparte dall'elemento precedente quello puntato dal primo. Se l'elemento puntato dal secondo indice non è maggiore di quello a cui punta il primo indice, il secondo indice avanza; e così fa, finché si trova nel punto in cui il valore del primo indice deve essere inserito (da qui insertion). L'algoritmo così tende a spostare man mano gli elementi maggiori verso destra. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:57.



















