Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.11.2010, 21:56   #1
Bleize
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 28
По умолчанию Массивы(статистические)

Найти максимальную по длине монотонную (т. е. либо неубывающую, либо невозрастающую) подпоследовательность заданного массива целых чисел
P.S. При выполнении работы используются статические массивы. Для организации статических массивов с псевдопеременными границами необходимо объявить массив достаточно большой длины N. Затем пользователь вводит реальную длину массива (не больше N) и работает с массивом той длины, которую он сам указал. Остальные элементы (хотя память под них и будет выделена) не рассматриваются. При уменьшении или увеличении длины массива необходимо изменять его реальную длину.
Bleize вне форума Ответить с цитированием
Старый 26.11.2010, 21:59   #2
Bleize
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 28
По умолчанию

#include <iostream>
using namespace std;

void main()
{
const int N = 1000;
int a[N], size, i, k1, k2, k3, n, k;
cout<<"Enter the size of the array: "; cin>>size;
for(i=0;i<size;i++){cout<<"the "<<i+1<<"th element: ";cin>>a[i];}
cout<<endl<<"Array: ";
for(i=0;i<size;i++)cout<<a[i]<<" ";
cout<<endl;
for(i=0,k1=0,k2=1,n=0;i<size-1;i++)
{if(a[i+1]<a[i])k1++; else{if(k1>=k2)k2=k1; k1=0;} if(k2<=k1)n=i+1;}
if(k2<k1) k2=k1;
for(i=0,k1=0,k3=1,k=0;i<size-1;i++)
{if(a[i+1]>a[i])k1++; else{if(k1>=k3)k3=k1; k1=0;} if(k3<=k1)k=i+1;}
if(k3<k1) k3=k1;
if(n==size-2) if(a[size-1]<a[n]) {n=size-1; k2++;}
if(k==size-2) if(a[size-1]>a[k]) {k=size-1; k3++;}
if(k3>k2){n=k; k2=k3;} else if(k3=k2) if(k>n){n=k; k2=k3;}
cout<<"Maximum long period - "<<k2+1<<" element(s): ";
for(i=n-k2;i<=n;i++) cout<<a[i]<<" ";
cout<<endl;
}
или помогите исправить ошибку:
размер 10
10 9 8 7 6 7 6 5 10 20(р-тат неверен)

Последний раз редактировалось Bleize; 26.11.2010 в 22:05.
Bleize вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Статистические структуры данных Natika Общие вопросы C/C++ 0 27.10.2010 23:55
Про статистические характеристики и другое???? vigulina Помощь студентам 0 23.02.2010 21:49
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Статистические функции в Excell 2003 DCWL Microsoft Office Excel 9 11.03.2009 14:21