Ecco il programma:
codice:
#define MAX_LEN 100
#include <stdio.h>
#include <conio.h>
void leggi_vettore(int *v, int n);
void stampa_vettore(int *v, int n);
void selsort(int *v, int n);
int pos_min(int *v, int from, int to);
void swap(int *pa, int *pb);
int main(void)
{
int x[MAX_LEN];
int len;
printf("Lunghezza del vettore: ");
scanf("%d", &len);
leggi_vettore (x,len);
selsort(x,len);
stampa_vettore(x,len);
getch();
}
void leggi_vettore(int *v, int n){
int i;
for(i=0;i<n;i++){
printf("Inserisci il %d numero: ",i);
scanf("%d",&v[i]);
}
}
void stampa_vettore(int *v, int n){
int i;
for(i=0;i<n;i++)
printf("%d",v[i]);
}
void selsort(int *v, int n){
int i, min, app;
for(i=0;i<n;i++){
swap(&v[i],&v[pos_min(v,i,n)]);
}
}
int pos_min(int *v, int from, int to){
int i, min=from;
for(i=from;i<to-1;i++){
if(v[i]<v[min])
min=i;
}
return min;
}
void swap(int *pa, int *pb){
int papp;
papp=*pa;
*pa=*pb;
*pb=papp;
}