28.12.2012, 15:21 | #1 (permalink) |
Member
Регистрация: 14.12.2012
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Пилообразная последовательность, Pascal
1) a1 < a2 > a3 < … > an-1 < an 2) a1 > a2 < a3 > … < an-1 > an Задание: заполнить файл txt целыми числами с консоли, вывести самую длинную пилообразную последовательность. Помогите, пожалуйста, с решением!! Заранее спасибо Имеется код схожей задачи на массивы, но он немножко неверно работает: uses crt; const nmax=30; var a:array[1..nmax] of byte; n,i,j,k,mx,imx:byte; begin clrscr; repeat write('Размер массива до ',nmax,' n='); readln(n); until n in [1..nmax]; writeln('Введите элементы массива, в том числе образующие пилообразные последовательности'); for i:=1 to n do begin write('a[',i,']='); readln(a[i]); end; clrscr; writeln('Массив:'); for i:=1 to n do write(a[i],' '); writeln; writeln; i:=2;mx:=0;imx:=0; while i<n do if ((a[i]>a[i-1])and(a[i]>a[i+1]))or((a[i]<a[i-1])and(a[i]<a[i+1])) then begin j:=i;k:=2; while(j<=n)and(((a[j]>a[j-1])and(a[j]>a[j+1]))or((a[j]<a[j-1])and(a[j]<a[j+1]))) do begin j:=j+1; k:=k+1; end; if k>mx then begin mx:=k; imx:=i-1; end; i:=i+k; end else i:=i+1; if mx=0 then write('Нет пилообразной последовательности!') else begin writeln('Максимальная пилообразная последовательность одинаковых чисел=',mx); for i:=imx to imx+mx-1 do write(a[i],' '); writeln; write('Её длина=',mx); end; readln end. |
28.12.2012, 15:21 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Могу вам помочь отправив ссылки на похожие обсуждения Pascal Pascal ABC Последовательность чисел. Паскаль Pascal RGR Pascal |
28.12.2012, 17:02 | #5 (permalink) |
Member
Регистрация: 14.12.2012
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Да, и прибавляет еще этот нолик к длине строки
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
29.12.2012, 08:16 | #8 (permalink) |
Member
Регистрация: 09.12.2012
Сообщений: 45
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Такое же задание у меня но только мне надо создать типизированный файл .dat целых чисел и вывести на экран самую длинную пилообразную последовательность.
|
29.12.2012, 13:24 | #10 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
В общем так, ребята - подзавяз я с вашей задачкой, признаюсь честно. Попробую сегодня добить. Когда именно - точно не знаю.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|