Starise
12-01-2005, 01:49
Ciao a tutti!
Scusate, ma avrei bisogno urgente di una cosa:
Ho bisono per domani alle 14 di un programma in C che richiama una funzione void che ordina un array tramite insertion sort!
ho provato a fare un programma... ma non mi funziona... potete aiutarmi a scovare gli errori? grazie!
#include <stdio.h>
#include <malloc.h>
void insertion_sort(int a[], int n);
main()
{
int *a;
int i;
int n;
printf("Inserisci la quantità di numeri da esaminare\n");
scanf("%d", &n);
a=(int*)malloc(n*sizeof(int));
for (i=1; i<n; i++)
{
printf("inserire un numero\n");
scanf("%d", &a[i]);
}
insertion_sort(a,n);
printf("\nArray Ordinato:");
for (i=0;i<n;i++)
{
printf("%d",a[i]);
}
free (a);
}
void insertion_sort(int a[], int n) {
int i, j, app;
for (i=1; i<n; i++) {
app = a[i];
j = i-1;
while (j>=0 && a[j]>app) {
a[j+1] = a[j];
j--;
}
a[j+1] = app;
}
return;
}
Scusate, ma avrei bisogno urgente di una cosa:
Ho bisono per domani alle 14 di un programma in C che richiama una funzione void che ordina un array tramite insertion sort!
ho provato a fare un programma... ma non mi funziona... potete aiutarmi a scovare gli errori? grazie!
#include <stdio.h>
#include <malloc.h>
void insertion_sort(int a[], int n);
main()
{
int *a;
int i;
int n;
printf("Inserisci la quantità di numeri da esaminare\n");
scanf("%d", &n);
a=(int*)malloc(n*sizeof(int));
for (i=1; i<n; i++)
{
printf("inserire un numero\n");
scanf("%d", &a[i]);
}
insertion_sort(a,n);
printf("\nArray Ordinato:");
for (i=0;i<n;i++)
{
printf("%d",a[i]);
}
free (a);
}
void insertion_sort(int a[], int n) {
int i, j, app;
for (i=1; i<n; i++) {
app = a[i];
j = i-1;
while (j>=0 && a[j]>app) {
a[j+1] = a[j];
j--;
}
a[j+1] = app;
}
return;
}