Salve a tutti, sto imparando a programmare in C e ho provato a scrivere un programma che metta in ordine N numeri acquisiti da tastiera, il problema è che qualunque numero si immetta il risultato sono N numeri negativi di 10 cifre (ordinati!) ... qualcuno può aiutarmi?
grazie in anticipo
#include <stdio.h>
#include <stdlib.h>
#define MAX 10
main () {
int data[MAX], NUM=1, i, j, base;
do {
if(NUM >= MAX || NUM <= 0) {
printf("numero non valido, inserisci un numero compreso fra 1 e %d: ", MAX-1);
scanf("%d", &NUM);
}
else {
printf("Inserisci il numero degli elementi da ordinare: ");
scanf("%d", &NUM);
}
}
while (NUM >= MAX || NUM <= 0);
for (i = 0; i < NUM; i++) {
printf("Inserisci l'elemento numero %d: ", i+1);
scanf("%d", &data);
}
for (i = 0; i < NUM-1; i++) {
for (j = 0; j < NUM-1-i; j++) {
if (data[j] > data[j+1]) {
base = data[j];
data[j] = data[j+1];
data[j+1] = base;
}
}
}
printf("I numeri ordinati sono: ");
for (i = 0; i < NUM; i++) {
printf(" %d ", &data);
}
printf("\n");
printf("\n");
}