Sviluppare una function C che, dati come parametri di input un array di int e il suo size,
determina e restituisce come parametri di output l'indice di inizio e la lunghezza della piu
lunga sequenza ordinata (senso crescente) contenuta nell'array.
Devo applicare un algoritmo di ordinamento del genere?
codice:
#include <stdio.h>
#include <stdlib.h>
void seq_ord_array(int [],int );
int main(int argc, char *argv[])
{int a[100],i,n;
printf("inserisci il size dell array:");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("inserisci l'%d-esimo elemento dell'array: \n",i);
scanf("%d",&a[i]);
}
seq_ord_array(a,n);
for(i=0;i<n;i++)
printf("la lunghezza della sequenza ordinata e':%d,\t e il suo indice e':%d\n",n,a);
system("PAUSE");
return 0;
}
void seq_ord_array(int a[],int n)
{
int i,j;
int sequenza;
for(i=1;i<n;i++){
sequenza=a[i];
j=i-1;
while(j>0 && a[j]>sequenza){
a[j+1]=a[j];
j--;
}
a[j+1]=sequenza;
}
}