В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
argen08
argen08
27.12.2021 12:37 •  Информатика

По паскалю: 1.задать одномерный массив из 10 чисел, которые полученные случайным образом. 1) поменять местами левую и правую половину. 2) элементы массива больше 10 заменить на 100. 3) удалить из массива максимальный элемент, а перед минимальным элементом вставить 0. 2.задать одномерный массив из 10 чисел, которые полученные случайным образом. 1) вывести на экран только нечётные элементы. 2) элементы массива, стоящие на чётных позициях заменить на 0. 3) удалить из массива последний нечетный элемент, а перед 3 элементом вставить 100.

Показать ответ
Ответ:
ХорошийВася
ХорошийВася
14.08.2020 19:25
Задание 1

const
  n=10;
var
  a:array[1..n] of integer;
  i,k,t,imin,imax:integer;
begin
  randomize; { инициализация датчика пчевдослучайных чисел }
  Writeln('*** Исходный массив ***');
  for i:=1 to n do begin
    a[i]:=random(20); { интервал [0;19] }
    Write(a[i]:4)
    end;
  Writeln;
  { 1. меняем местами правую и левую половины }
  Writeln('*** 1 ***');
  k:=n div 2;
  for i:=1 to k do begin
    t:=a[i]; a[i]:=a[i+k]; a[i+k]:=t
    end;
  for i:=1 to n do Write(a[i]:4);
  Writeln;
  { 2. Элементы массива, большие 10, заменяем на 100 }
  for i:=1 to k do
    if a[i]>10 then a[i]:=100;
  Writeln('*** 2 ***');
  for i:=1 to n do Write(a[i]:4);
  Writeln;
  { 3. Удаляем максимальный элемент, вставляем 0 перед минимальным }
  { замороченная задача ! }
  Writeln('*** Исходный массив ***');
  for i:=1 to n do begin
    a[i]:=random(50)+1; { интервал [1;49] }
    Write(a[i]:4)
    end;
  Writeln; Writeln('*** 3 ***');
  imin:=1; imax:=1;
  for i:=2 to n do
    if a[i]>a[imax] then imax:=i
    else
      if a[i]<a[imin] then imin:=i;
  if imin < imax then begin { минимальный встречается раньше максимального }
    { подвигаем вправо на 1 все элементы от imin и до imax }
    for i:=imax-1 downto imin do a[i+1]:=a[i];
    a[imin]:=0 { вставляем 0 в позицию imin }
    end
  else begin { минимальный встречается позже максимального }
    { подвигаем влево на 1 элементы от imax до imin -1 }
    for i:=imax to imin-1 do a[i]:=a[i+1];
    a[imin-1]:=0; { вставляем 0 в позицию перед imin }
    end;
  for i:=1 to n do Write(a[i]:4);
  Writeln  
end.

Пример
*** Исходный массив ***
  14   1  11   7  14   8  12   8   1  14
*** 1 ***
   8  12   8   1  14  14   1  11   7  14
*** 2 ***
   8 100   8   1 100  14   1  11   7  14
*** Исходный массив ***
  24  36  25   4  42  42  16  39  45  44
*** 3 ***
  24  36  25   0   4  42  42  16  39  44

Задание 2

const
  n=10;
var
  a:array[1..n] of integer;
  i:integer;
begin
  randomize; { инициализация датчика пчевдослучайных чисел }
  Writeln('*** Исходный массив ***');
  for i:=1 to n do begin
    a[i]:=random(20); { интервал [0;19] }
    Write(a[i]:4)
    end;
  Writeln;
  { 1. выводим нечетные элементы }
  Writeln('*** 1 ***');
  for i:=1 to n do
    if a[i] mod 2 <>0 then Write(a[i]:4);
  Writeln;
  { 2. Элементы на четных позициях обнуляем }
  i:=2;
  while i<=n do begin
    a[i]:=0;
    i:=i+2
    end;
  Writeln('*** 2 ***');
  for i:=1 to n do Write(a[i]:4);
  Writeln
end.

Пример
*** Исходный массив ***
  12   0  14   8  13  17   3   1  12  17
*** 1 ***
  13  17   3   1  17
*** 2 ***
  12   0  14   0  13   0   3   0  12   0

Замечание:
Третью подзадачу решить в такой постановке невозможно.
В самом деле, требуется удалить последний нечетный элемент, а перед третьим элементом вставить ноль. Что делать, если этим последним нечетным окажется третий?
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота