Выделить в массиве возрастающую подпоследовательность наибольшей длины - 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;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5
Похожие ответы