Выделить в массиве возрастающую подпоследовательность наибольшей длины - C (СИ)
Формулировка задачи:
Задан массив размера N. Выделить возрастающую подпоследовательность элементов наибольшей длины.
Решение задачи: «Выделить в массиве возрастающую подпоследовательность наибольшей длины»
textual
Листинг программы
#define N 12
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main ()
{
int X[N],i,kol=0,el=0,dl=0,in,ik;
puts("Enter massive");
for(i=0;i<N;i++)
{
scanf("%d",&X[i]);
}
for(i=0;i<N-1;i++)
{
if(X[i]<X[i+1]){el++;
}
else{if(dl<el){ik=i;in=ik-el;dl=el;}
el=0;
}
if(i==N-2&& el>1){if(dl<el){ik=i;in=ik-el;dl=el;}}
}
printf("dl=%d\n",dl);
for(i=in;i<ik-in;i++)
printf("%d\t",X[i]);
getch();
return 0;
}