|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2000
Città: Napoli
Messaggi: 979
|
[C] insertion sort
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; }
__________________
Workstation: CPU AMD Ryzen 5900X @ 4900 MHz | RAM Corsair DDR4 64GB @ 3.6GHz | MoBo Gigabyte B550 AORUS Pro V2 | NVMe 1TB ~ WD Black SN850 | Storage 20 TB ~ HGST 7200RPM | PSU Fractal Ion+ 2 860W | GPU AMD Radeon RX 9070 XT | Mouse Logitech G Pro | Tastiera Logitech G915 TKL -- Audio/Video: AVR Denon X1300W 4K | Interfaccia audio Steinberg UR22 MKII | Casse 2x Klipsch RP-160M | Cuffie Sennheiser HD 650 | Mic Oktava MK 012 Black | Display LG OLED 48" @ 2160p 120Hz FreeSync Ultima modifica di Starise : 12-01-2005 alle 03:27. |
|
|
|
|
|
#2 | ||
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16212
|
Re: [C] insertion sort
Quote:
Perché l'uso "vero" sarebbe quello... comunque, diciamo che siamo nella prima ipotesi. Quote:
A proposito: quando inserisci di programma, usa il tag "code", altrimenti perdi l'indentazione. Così: Codice:
printf("Inserisci la quantità di numeri da esaminare\n");
scanf("%d", &n);
Codice:
a=(int*)malloc(n*sizeof(int)); Leggi il manuale (o la man page di malloc) per capire come si fa. Codice:
for (i=0;i<n;i++)
{
printf("%d",a[i]);
}
La stringa di formato dovrebbe essere " %d", con lo spazio all'inizio. Per il resto.. boh, sembra tutto a posto... prova a fare queste modifiche e facci sapere cosa esce fuori.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:30.



















