• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Турбо Паскаль удаление элементов последовательности

rinat-shoker

Ученик
Регистрация
26 Фев 2016
Сообщения
4
Реакции
0
Баллы
0
Турбо Паскаль удаление элементов последовательности

Задана последовательность А1,......А20), не содержащая одинаковых элементов.

1. Удалить элемент последовательности, наиболее близкий по
значению к максимальному в данной последовательности.
Под удалением элемента из массива понимать исключении этого
элемента путём смещения всех следующих за ним элементов влево
на 1 позицию и присвоение последнеиу элементу массива —0.

2. преобразованную последовательность, упорядочить по возрастанию.
Для отладки программы числа последовательности сформировать с помощью генератора случайных чисел
 
Код:
uses  Crt;
const n=20;
type  Tmass=array[1..n] of integer;
var   a:Tmass;
      i,max,mi,t,r:integer;
begin
      ClrScr;
       Writeln('Massiv A:');
        Writeln;
         Randomize;
          max:=-MaxInt;
           mi:=0;
       for i:=1 to n do
        begin
          a[i]:=Random(100);
          Write(a[i]:4);
          if a[i]>max then
           begin
             max:=a[i];
             mi:=i;
           end;
        end;
       Writeln; Writeln;
      Writeln('Max = ',max,' [ ',mi,' ]');
       Writeln;
      t:=0; r:=MaxInt;
       for i:=1 to n do
        if i<>mi then
         if (max-a[i]<r) then
          begin
            r:=max-a[i];
            t:=i;
          end;
      Writeln('Naibolee blizkiy = ',a[t],' [ ',t,' ]');
       Writeln;
      for i:=t to n-1 do
       a[i]:=a[i+1];
        a[n]:=0;
      Writeln('Noviy massiv:');
       Writeln;
        for i:=1 to n do
         Write(a[i]:4);
          Writeln;
           Writeln;
      for i:=1 to n-1 do
       for r:=1 to n-i do
        if a[r]>a[r+1] then
         begin
           t:=a[r];
           a[r]:=a[r+1];
           a[r+1]:=t;
         end;
      Writeln('Sortirovanniy massiv:');
       Writeln;
        for i:=1 to n do
         Write(a[i]:4);
          Writeln;
      ReadKey;
end.
 
Назад
Сверху