Перенос данных из массива А в массив Б - Turbo Pascal

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

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

есть 2 массива, нужно чтоб числа которые делятся на 5 и не делятся на 7 были перенесены или скопированы из массива А в массив В, а потом числа которые были заполнили массив В были суммированы. как это сделать? Вот программа :

Решение задачи: «Перенос данных из массива А в массив Б»

textual
Листинг программы
program Lab7;
uses
  crt;
const
  nmax=16200;
var
  A,B: array[1..nmax] of integer;
  k1, k2, k3, s, n, i: integer;
begin
  Clrscr;
  randomize;
  repeat
    write('Ââåäèòå Г°Г*çìåð Г¬Г*Г±Г±ГЁГўГ* n (n < ',nmax,'): ');
    readln(n);
    if n > nmax then writeln('ÏðåâûøåГ* äîïóñòèìûé Г°Г*çìåð Г¬Г*Г±Г±ГЁГўГ*');
  until n < nmax;
  writeln('ГЊГ*Г±Г±ГЁГў A');
  for i := 1 to n do
  begin
    A[i] := -99 + random(199);
    write(A[i]:4);
    if (A[i] mod 5=0) or (A[i] mod 7<>0) then
    begin
      inc(k1);
      B[k1]:=A[i];
      s:=s+B[k1];
    end;
    if A[i] mod 5=0 then inc(k2);
    if A[i] mod 7<>0 then inc(k3);
  end;
  writeln;
  writeln('ГЊГ*Г±Г±ГЁГў B:');
  for i:=1 to k1 do write(B[i]:4); writeln;
  writeln('ÑóììГ* ýëåìåГ*òîâ = ',s);
  writeln('ГЉГ°Г*ГІГ*ûõ 5: ',k2);
  writeln('ГЌГҐ ГЄГ°Г*ГІГ*ûõ 7: ',k3);
  readln;
end.

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

  1. В программе используется массив A и массив B для хранения данных.
  2. Переменная k1, k2 и k3 используется для отслеживания индексов элементов массива B, которые содержат данные, скопированные из массива A.
  3. Переменная s используется для хранения суммы элементов массива B.
  4. Цикл while используется для перебора чисел от 1 до nmax и чтения соответствующего числа от пользователя. Если введенное число превышает nmax, программа выводит сообщение об ошибке и завершается.
  5. В цикле for i := 1 до n do выполняется следующая последовательность действий:
    • A[i] присваивается случайное число от -99 до 198.
    • Выводится значение A[i].
    • Если A[i] делится на 5 без остатка или не делится на 7 без остатка, то увеличивается значение k1, B[k1] присваивается значение A[i], и значение s увеличивается на B[k1].
    • Если A[i] делится на 5 без остатка, то увеличивается значение k2.
    • Если A[i] не делится на 7 без остатка, то увеличивается значение k3.
  6. После завершения цикла for выводится сообщение о количестве элементов в массиве B.
  7. Выводится сообщение о количестве элементов, которые были скопированы в массив B из массива A.
  8. Выводится сообщение о количестве элементов, которые были скопированы в массив B из массива A, отсортированных по модулю 5.
  9. Выводится сообщение о количестве элементов, которые были скопированы в массив B из массива A, отсортированных по модулю 7.

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


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

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

6   голосов , оценка 3.667 из 5
Похожие ответы