Date un occhio a questo programma di ordinamento array

di il
6 risposte

Date un occhio a questo programma di ordinamento array

L'algoritmo di orgdinamento senza sottoprogramma mi funziona, invece con il sottoprogramma no.....gentilmente mi date una mano?

con sottoprogramma:
#include <stdio.h>
#include <stdlib.h>

void ord_inser(int a[],int n);
void stampa_array(int ARRAY[],int N);
void leggi_array(int ARRAY[],int N);

void main()
{
int n;
int v[100];
printf(\"Inserisci la dimensione del array che vuoi ordinare:\\n\");
scanf(\"%d\",&n);

leggi_array(v,n);
stampa_array(v,n);

ord_inser(v,n);
printf(\"\\n\\n\");
stampa_array(v,n);

system (\"pause\");
return 0;
}

void ord_inser(int a[],int n)
{
int i,j;
int x;
    
    for(i=0;i<n-1;i++)
        {
        for(j=0;j<n-1-i;j++)
                {
                if(a[j]>a[j+1])
                  x=a[j];
                  a[j]=a[j+1];
                  a[j+1]=x;
                }
        }    
}

void leggi_array(int ARRAY[],int N)
{
int i;
    for(i=0;i<N;i++)
        {
        printf(\"Inserisci l'elemento %d :\",i);
        scanf(\"%d\",&ARRAY[i]);
        }
}


//stampa un array
void stampa_array(int ARRAY[],int N)
{
int i;
    for(i=0;i<N;i++)
        printf(\"%d \",ARRAY[i]);
}


senza sottoprogramma:
#include <stdio.h>
#include <stdlib.h>

void leggi_array(int ARRAY[],int N);
void stampa_array(int ARRAY[],int N);


void main()
{
int a[100];
int i,j,n;
int temp;

printf(\"inserisci la dim:\");
scanf(\"%d\",&n);

leggi_array(a,n);
    
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<n-i;j++)
         {
          if(a[j]>a[j+1])
                {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
                }
         }
    }

    
stampa_array(a,n);

system (\"pause\");
return 0;

}





void leggi_array(int ARRAY[],int N)
{
int i;
    for(i=0;i<N;i++)
        {
        printf(\"Inserisci l'elemento %d :\",i);
        scanf(\"%d\",&ARRAY[i]);
        }
}


//stampa un array
void stampa_array(int ARRAY[],int N)
{
int i;
    for(i=0;i<N;i++)
        printf(\"%d \",ARRAY[i]);
}


6 Risposte

Devi accedere o registrarti per scrivere nel forum
6 risposte