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; } }

Rispondi quotando