Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 19.05.2019, 19:20   #1 (permalink)
Abelkim
Новичок
 
Регистрация: 19.05.2019
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Разработать в среде Turbo Pascal программу удаления заданных элементов массива.
Дан одномерный массив ненулевых целых чисел размера N.
1. Определить количество участков, на которых его элементы возрастают, найти сумму элементов самого длинного участка.
2. Поменять местами первую и вторую половины массива.
3. Удалить из массива все элементы с четными номерами. Условный оператор не использовать.
Для отладки программы исходный массив сформировать с помощью генератора случайных чисел.
Program Num_1;

uses crt;
var n,i,j,k,max,schet,lght,sum,maxsum: integer;
a:array [1..100] of integer;
begin
clrscr;
randomize;
write('Введите размер массива: ');
readln(n);
writeln('Сгенерированный массив: ');
for i:=1 to n do
begin
a[i]:=-10+random(50);
write(a[i]:4);
end;
writeln;
writeln;
writeln('Задание 1. ');
max:=0;
schet:=0;
i:=2;
while i<=n do
if a[i]>a[i-1] then
begin
inc(schet);
j:=i;
lght:=1;
sum:=a[i-1];
while(j<=n)and(a[j]>a[j-1]) do
begin
sum:=sum+a[j];
inc(lght);
inc(j);
end;
if lght>max then
begin
max:=lght;
maxsum:=sum;
end;
i:=i+lght;
end
else i:=i+1;
if schet=0 then writeln('Нет участков возрастания')
else
begin
writeln('Количество участков=', schet,'. Максимальная длина=',max);
writeln('Сумма первого самого длинного участка: ',maxsum);
end;
writeln;
writeln('Задание 2');
if odd(n) then j:=1 else j:=0;
for i:=1 to n div 2 do
begin
k:=a[i];
a[i]:=a[n div 2+j+i];
a[n div 2+j+i]:=k;
end;
writeln('Изменённый массив: ');
for i:=1 to n do
write(a[i]:4);
writeln;
writeln;
writeln('Задание 3');
i:=2;
while i<=n do
begin
for j:=i to n-1 do
a[j]:=a[j+1];
dec(n);
i:=i+1
end;
writeln('Измененный массив: ');
for i:=1 to n do
write(a[i]:4);
readkey;
end.
Abelkim вне форума   Ответить с цитированием

Старый 19.05.2019, 19:20
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0



Построить блок-схему и написать код в Pascal
Помогите, пожалуйста, построить блок схему по программе
Построить блок-схему

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 14:19.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.