Bubble sort

Sk_Anonymous
Sapreste dirmi perchè questo programma non mi va in esecuzione?
Ecco:
#include <stdio.h>
#define n 10
int main () {
int A[n],i,sup,temp;
/*Lettura degli n elementi del vettore*/
for(i=0;i<n;i++)
{
printf("Inserire un numero:");
scanf("%d",&A[i]);
}
/*Bubble sort*/
for(sup=n-1;sup>0;sup--)
for(i=0;i<sup;i++)
if(A[i]>A[i+1])
{
temp=A[i];
A[i]=A[i+1];
A[i+1]=temp;
}
for(i=0;i<n;i++)
printf("%d\n",A[i]);
}

Risposte
_luca.barletta
non l'ho controllato tutto, mi sono fermato al primo for: non mancano delle parentesi graffe?

Sk_Anonymous
Già
ora provo e ti faccio sapere
grazie!

Sk_Anonymous
Ho dimenticato a scriverle qua,ma nel compilatore le ho messe!
e non mi parte!

_luca.barletta
in fondo aggiungerei anche
return 0;
(prima di chiudere il main)

qual è l'errore che ti dà il compilatore?

Sk_Anonymous
"luca.barletta":
in fondo aggiungerei anche
return 0;
(prima di chiudere il main)

qual è l'errore che ti dà il compilatore?


Mi dà un Warning:"3 no type specified.Defaulting to int"
anche con l'aggiunta di
return 0;


nell'esecuzione appare lo schermo vuoto e,nella riga di sotto,"returne code-1"

lorven
Sistemato come segue, il programma funziona.
#include <stdio.h>
#include <stdlib.h>
#define n 10

int main () {
int A[n],i,sup,temp;

/*Lettura degli n elementi del vettore*/
for(i=0;i<n;i++){
    printf("Inserire un numero:");
    scanf("%d",&A[i]);
    }
/*Bubble sort*/
for(sup=n-1;sup>0;sup--)
    for(i=0;i<sup;i++) 
        if(A[i]>A[i+1]){
           temp=A[i];
           A[i]=A[i+1];
           A[i+1]=temp;
           }
for(i=0;i<n;i++) 
    printf("%d\n",A[i]);

system("pause");
return 0;
}

Le modifiche riguardano solo l'estetica, l'inclusione di una libreria e gli ultimi due statement. ;-)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.