Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
17 / 17 / 0
Регистрация: 27.02.2010
Сообщений: 55

В массиве найти самую длинную монотонную последовательность

17.03.2010, 17:42. Показов 2182. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Последовательность а1, а2, .., аn называется монотонной, если а1>=а2>= .. >=аn или а1<=а2<= .. <=аn. В массиве А(m) найти самую длинную монотонную последовательность.

Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.03.2010, 17:42
Ответы с готовыми решениями:

В массиве A (m) найти самую длинную монотонную последовательность
Условие:Последовательность a1,a2,..an называется монотонной,если a1&gt;=a2&gt;=..&gt;=an или a1&lt;=a2&lt;=..an.В...

В массиве P(n) найти самую длинную последовательность, которая является арифметической или геометрической прогрессией
Помогите пожалуйста с решением задачи В массиве P(n) найти самую длинную последовательность,...

Подсчитать самую длинную последовательность подряд идущих букв а
Дана строка. Подсчитать самую длинную последовательность подряд идущих букв а. Пример: aaaaa...

17
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
19.03.2010, 13:00
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
INPUT "vvedite N ", n
DIM a(n)
RANDOMIZE TIMER
PRINT "massiv"
FOR i = 1 TO n
a(i) = INT(RND * 20)
PRINT a(i);
NEXT
PRINT
k1 = 1
k2 = 1
FOR i = 2 TO n
IF a(i) < a(i - 1) THEN k1 = 1 ELSE k1 = k1 + 1: IF k1 > max1 THEN max1 = k1: nom1 = i
IF a(i) > a(i - 1) THEN k2 = 1 ELSE k2 = k2 + 1: IF k2 > max2 THEN max2 = k2: nom2 = i
NEXT
IF max1 >= max2 THEN max = max1: nom = nom1 ELSE max = max2: nom = nom2
PRINT "max dlina="; max
PRINT "posledovatelnost"
FOR i = nom - max + 1 TO nom
PRINT a(i);
NEXT
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
12.04.2010, 22:00
А каким образом сделать так, чтобы эта программа при вводе последовательности чисел, в которых 2 одинаковых по размеру монотонных последовательности, выводила обе последовательности, а не одну, т.е. при заданной последовательности 1 2 3 4 3 2 1 выводились не только 4 3 2 1, но и 1 2 3 4?
0
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
12.04.2010, 22:07
Просто препод ругается и говорит, что если их две самых длинных, то программа должна их обе вывести на экран... Совсем никак ?
0
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
12.04.2010, 22:16
Ну ладно, все равно спасибо
0
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
12.04.2010, 22:30
А можете написать, что исправить надо в этом коде?
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
12.04.2010, 23:08
Я сделал вам программу, которая выведет все максимальные монотонные последовательности, даже если их будет 22

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
INPUT "vvedite N ", n
DIM a(n)
PRINT "vvedite massiv"
FOR i = 1 TO n
INPUT a(i)
NEXT
PRINT "massiv"
FOR i = 1 TO n
PRINT a(i);
NEXT
PRINT
k1 = 1
k2 = 1
FOR i = 2 TO n
IF a(i) < a(i - 1) THEN k1 = 1 ELSE k1 = k1 + 1: IF k1 > max1 THEN max1 = k1
IF a(i) > a(i - 1) THEN k2 = 1 ELSE k2 = k2 + 1: IF k2 > max2 THEN max2 = k2
NEXT
IF max1 >= max2 THEN max = max1 ELSE max = max2
PRINT "max dlina="; max
PRINT "posledovatelnost"
k1 = 1
k2 = 1
FOR i = 2 TO n
IF a(i) < a(i - 1) THEN k1 = 1 ELSE k1 = k1 + 1: IF k1 = max THEN FOR j = i - max + 1 TO i: PRINT a(j); : NEXT: PRINT
IF a(i) > a(i - 1) THEN k2 = 1 ELSE k2 = k2 + 1: IF k2 = max THEN FOR j = i - max + 1 TO i: PRINT a(j); : NEXT: PRINT
NEXT
2
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
12.04.2010, 23:11
Огромное спасибо
0
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 7
20.04.2010, 15:19
Скажите, пожалуйста, как вывести на экран фразу "самые длинные монотонные последовательности" во мн.ч.(если их > 1), а если одна, то оставить в ед.ч."самая длинная монотонная последовательность".Это должно быть перед выводом последовательности.
Помогите очень прошу..)!
Нужно добавить какой-то код или что..?((
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
20.04.2010, 15:39
Это усложнит программу.
А нафига это надо? можно вообще без заголовка всё выводить
0
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 7
20.04.2010, 16:42
Просто перподаватель такой..всё ему не так..мы и легенду пишем через принт, все в программе..говорит что бы красиво было, всё-такое..и не хочет принимать программу..((не знаю что ему еще сказать!!!!!
Если сможете помогите, пожалуйста!
Все равно спасибо!
0
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 7
24.04.2010, 01:08
Пожалуйста, доделайте программу, очень прошу, без этого преподаватель не хочет принимать..(((
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
26.04.2010, 18:06
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
CLS
INPUT " vvedite N ", n
DIM a(n)
PRINT " vvedite massiv"
FOR i = 1 TO n
INPUT a(i)
NEXT
PRINT " massiv"
FOR i = 1 TO n
PRINT a(i);
NEXT
PRINT
k1 = 1
k2 = 1
FOR i = 2 TO n
IF a(i) < a(i - 1) THEN k1 = 1 ELSE k1 = k1 + 1: IF k1 > max1 THEN max1 = k1
IF a(i) > a(i - 1) THEN k2 = 1 ELSE k2 = k2 + 1: IF k2 > max2 THEN max2 = k2
NEXT
IF max1 >= max2 THEN max = max1 ELSE max = max2
PRINT "max dlina="; max
k1=1
k2=1
FOR i = 2 TO n
IF a(i) < a(i - 1) THEN k1 = 1 ELSE k1 = k1 + 1: IF k1 = max THEN kolp = kolp + 1
IF a(i) > a(i - 1) THEN k2 = 1 ELSE k2 = k2 + 1: IF k2 = max THEN kolp = kolp + 1
NEXT
PRINT "posledovatelnost";
IF kolp > 1 THEN PRINT "i"
PRINT
k1 = 1
k2 = 1
FOR i = 2 TO n
IF a(i) < a(i - 1) THEN k1 = 1 ELSE k1 = k1 + 1: IF k1 = max THEN FOR j = i - max + 1 TO i: PRINT a(j); : NEXT: PRINT
IF a(i) > a(i - 1) THEN k2 = 1 ELSE k2 = k2 + 1: IF k2 = max THEN FOR j = i - max + 1 TO i: PRINT a(j); : NEXT: PRINT
NEXT
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
26.04.2010, 19:57
знаете, а оно почему-то вообще не работает...
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
26.04.2010, 20:02
Исправьте строки 33,34 (пробел между PRINT и a(j)
0
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
26.04.2010, 20:07
делала всё в точности как указано в инструкции
выделяет ; в 33 строке и пишет "ожидается: конец выражения"
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
26.04.2010, 20:25
Программа исправлена. Скопируйте ещё раз, всё будет работать
1
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 36
26.04.2010, 20:25
огромное спасибо! надеюсь эта моя просьба усовершенствовать данную программу была последней
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.04.2010, 20:25
Помогаю со студенческими работами здесь

Найдите самую длинную и короткую фамилию
Задайте символьный массив из 12 элементов, содержащих фамилии учащихся. Найдите самую длинную и...

Вывести из файла самую длинную фамилию
Создать текстовый файл «FAM.dat». Записать в файл 10 фамилий. Вывести из файла самую длинную...

Сформировать массив строк. Удалить из него самую длинную строку
задание 1. Сформировать массив строк. Удалить из него самую длинную строку. задание 2. Матрицу...

Найти номера строк, элементы каждой из которых образуют монотонно убывающую последовательность
Добрый вечер. Нужна помощь по задаче 394(г) из Абрамова. &quot;Дана целочисленная квадратная матрица...

Поиск монотонной последовательности в массиве
Помогите с задачкой. Последовательность a1,a2,...,an называется монотонной если a1&gt;=a2&gt;=...&gt;=an...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru