Сформировать новый массив из положительных элементов первого массива и элементов второго массива - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Сформировать новый массив из положительных элементов первого массива и элементов второго массива, расположенных после самого левого минимального элемента этого массива.

Решение задачи: «Сформировать новый массив из положительных элементов первого массива и элементов второго массива»

textual
Листинг программы
  1. const
  2.     NMAX = 100;
  3. var
  4.     a, b: Array[1..NMAX] Of ShortInt;
  5.     c: Array[1..NMAX*2 - 1] Of ShortInt;
  6.     i, min, na, nb, nc: 0..(NMAX - 1)*2;
  7. begin
  8.     Randomize;
  9.     Write('Введите длину первого массива (1..', NMAX, '): ');
  10.     ReadLn(na);
  11.     nc := 0;
  12.     Write('Первый вектор:');
  13.     for i := 1 to na do
  14.     begin
  15.         a[i] := Random(199) - 99;
  16.         Write(a[i]:4);
  17.         if (a[i] > 0)
  18.         then
  19.         begin
  20.             Inc(nc);
  21.             c[nc] := a[i];
  22.         end;
  23.     end;
  24.     WriteLn;
  25.     Write('Введите длину второго массива (1..', NMAX, '): ');
  26.     ReadLn(nb);
  27.     min := 1;
  28.     Write('Второй вектор:');
  29.     for i := 1 to nb do
  30.     begin
  31.         b[i] := Random(199) - 99;
  32.         Write(b[i]:4);
  33.         if (b[i] < b[min])
  34.         then
  35.             min := i;
  36.     end;
  37.     WriteLn;
  38.     for i := min + 1 to nb do
  39.     begin
  40.         Inc(nc);
  41.         c[nc] := b[i];
  42.     end;
  43.     if (nc > 0)
  44.     then
  45.     begin
  46.         Write(' Новый вектор:');
  47.         for i := 1 to nc do
  48.             Write(c[i]:4);
  49.         WriteLn;
  50.     end
  51.     else
  52.         WriteLn('Новый вектор пуст!');
  53. end.

Объяснение кода листинга программы

  1. В начале кода объявляются две переменные типа Array[1..NMAX] Of ShortInt: a и b. Они будут использоваться для хранения первых и вторых элементов массивов соответственно.
  2. Затем объявляется переменная c типа Array[1..(NMAX*2 - 1) Of ShortInt]. Она будет использоваться для хранения отсортированного массива, состоящего из положительных элементов первого и второго массивов.
  3. Далее объявляются три переменные i, min и nc. Переменная i будет использоваться для перебора элементов массивов, min - для хранения минимального элемента, а nc - для отслеживания количества положительных элементов в массиве c.
  4. Затем происходит чтение длины первого массива от пользователя.
  5. После этого происходит заполнение первого массива случайными числами от 0 до 99. Если число положительное, оно добавляется в массив c.
  6. Затем пользователь вводит длину второго массива. Аналогично заполняется второй массив случайными числами от 0 до 99.
  7. После этого происходит поиск минимального элемента во втором массиве. Если такой элемент найден, то все элементы второго массива, начиная с этого индекса, копируются в массив c.
  8. Если после копирования в массиве c остаются свободные ячейки, выводится сообщение о том, что новый массив пуст.
  9. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы