cicciopantera
21-02-2015, 12:06
Salve, effettuo questo codice di un selection sort ottimizzato (dato direttamente dal prof.) ma vien fuori un erroraccio! Potete aiutarmi?
#include "stdio.h"
#include <stdlib.h>
#define MAX 100
void input_vettore (int V[],int* N)
{
int x, t=0, n=0;
do
{
printf ("Inserire la dimensione dell'array= ");
scanf ("%d", &n);
}
while (n<2||n>MAX);
for (x=0;x<n;x++)
{
printf ("Inserire l'elemento V[%d]= ", x);
scanf ("%d", &t);
}
*N=n;
}
void sel_sort_ott (int V[],int N)
{
int imin, i, j, temp=0;
for (i=0;i<(N-1);i++)
{
imin=i;
for (j=i+1;j<N;j++)
{
if (V[i]>V[j]) imin=j;
}
temp= V[i];
V[i]=V[imin];
V[imin]=temp;
}
printf ("Il vettore ordinato e'\n");
for (i=0;i<N;i++)
{
printf ("V[%d]= %d ",i, V[i]);
}
}
void main()
{
int V[MAX], N;
input_vettore (V,&N);
sel_sort_ott (V,N);
}
Grazie :)
#include "stdio.h"
#include <stdlib.h>
#define MAX 100
void input_vettore (int V[],int* N)
{
int x, t=0, n=0;
do
{
printf ("Inserire la dimensione dell'array= ");
scanf ("%d", &n);
}
while (n<2||n>MAX);
for (x=0;x<n;x++)
{
printf ("Inserire l'elemento V[%d]= ", x);
scanf ("%d", &t);
}
*N=n;
}
void sel_sort_ott (int V[],int N)
{
int imin, i, j, temp=0;
for (i=0;i<(N-1);i++)
{
imin=i;
for (j=i+1;j<N;j++)
{
if (V[i]>V[j]) imin=j;
}
temp= V[i];
V[i]=V[imin];
V[imin]=temp;
}
printf ("Il vettore ordinato e'\n");
for (i=0;i<N;i++)
{
printf ("V[%d]= %d ",i, V[i]);
}
}
void main()
{
int V[MAX], N;
input_vettore (V,&N);
sel_sort_ott (V,N);
}
Grazie :)