ciao, ho dato una occhiata al tuo problema...pensavo di risolvero così...vedi un pò se t va bene...magari prova a vedere se si può fare qualche modifica per ottimizzarlo un pò!
ciao
codice:
#include <stdio.h>
#include <stdlib.h>
int seq_ord_array(int [],int , int*);
int main(int argc, char *argv[])
{
int a[5]={9,5,4,3,1};
int i,n=5;
int index_start;
int dim_seq;
dim_seq = seq_ord_array(a,n, &index_start);
printf ("%d %d\n", index_start, dim_seq);
for (i=index_start; i<index_start+dim_seq; i++ ) {
printf ("%d ", a[i]);
}
return 0;
}
int seq_ord_array(int v[],int n, int* index_start)
{
int i,j=0,k=1,x;
int max=0;
int cont;
i=0;
while ( i<n-1 ){
cont=1;
if ( v[i] < v[i+1] ) {
cont++;
k = i+1;
x=i;
while ( k < n-1 ) {
if ( v[k] < v[k+1] ) cont++;
k++;
}
if ( cont > max ) {
max = cont;
j=x;
}
}
i=i+k;
}
*index_start = j;
return max;
}