Составить процедуру обнуления всех положительных элементов массива - Pascal ABC

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

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

Составить процедуру обнуления всех положительных элементов в одномерном массиве A. С помощью этой процедуры обнулить все положительные элементы в n-м и k-м столбце произвольной матрицы B. Помогите!

Решение задачи: «Составить процедуру обнуления всех положительных элементов массива»

textual
Листинг программы
uses crt;
const nmax=20;
type mas=array[1..nmax] of integer; //Г¬Г*Г±Г±ГЁГў=ñòîëáåö Г¬Г*òðèöû
     mtr=array[1..nmax] of mas; //Г¬Г*òðèöГ*=Г¬Г*Г±Г±ГЁГў ñòîëáöîâ
procedure zero(var x:mas;n:byte); //ïðîöåäóðГ* Г§Г*ìåГ*Г»
var i:byte;
begin
for i:=1 to n do
if x[i]>0 then x[i]:=0;
end;
var b:mtr;
    r,c,i,j,n,k:byte;
begin
randomize;
repeat
write('Êîëè÷åñòâî ñòðîê îò 1 äî ',nmax,' r=');
read(r);
until r in [1..nmax];
repeat
write('Êîëè÷åñòâî ñòîëáöîâ îò 2 äî ',nmax,' c=');
read(c);
until c in [2..nmax];
writeln('ГЊГ*òðèöГ* B:');//Г§Г*ïîëГ*ГЁГ¬ ñòîëáöû Г¬Г*òðèöû
for j:=1 to c do
for i:=1 to r do
repeat
b[j][i]:=-5+random(11);
until b[j][i]<>0;   //ГЎГҐГ§ Г*îëåé
for i:=1 to r do //âûâåäåì ïîñòðî÷Г*Г®
 begin
  for j:=1 to c do
  write(b[j][i]:3);
  writeln
 end;
repeat
writeln('Ââåäèòå Г*îìåðГ* äâóõ Г°Г*Г§Г*ûõ ñòîëáöîâ îò 1 äî ',c);
read(n,k);
until(n in [1..c])and(k in [1..c])and(k<>n);
zero(b[n],r);
zero(b[k],r);
writeln('Г‡Г*ìåГ*Г* ïîëîæèòåëüГ*ûõ Гў ñòîëáöГ*Гµ ',n,',',k,' Г*Г* Г*îëè');
for i:=1 to r do
 begin
  for j:=1 to c do
  write(b[j][i]:3);
  writeln
 end;
end.

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

  1. В начале кода объявляются переменные nmax, mas и mtr. Переменная nmax используется для ограничения размера массива, а переменные mas и mtr используются для хранения и обработки массивов.
  2. Затем определяется процедура zero, которая принимает массив x и байт n в качестве параметров. Внутри процедуры происходит цикл for, который выполняется n раз. Для каждого элемента x[i] проверяется условие x[i] > 0. Если это условие истинно, то значение x[i] устанавливается равным нулю.
  3. Далее объявляется переменная b, которая является массивом mtr.
  4. Затем начинается цикл repeat, который выполняется до тех пор, пока не будет прочитано значение r для первого элемента массива b. Внутри цикла выводится сообщение с помощью функции write и читается значение r с помощью функции read. Значение r затем используется для создания массива b.
  5. После этого начинается цикл for, который выполняется c раз. Для каждого элемента b[j] проверяется условие b[j] <> 0. Если это условие истинно, то выводится сообщение с помощью функции write и читается значение k с помощью функции read. Значение k затем используется для вызова процедуры zero для элемента b[n].
  6. После этого вызывается процедура zero для элемента b[k].
  7. Цикл repeat завершается, когда значение n равно c или k не равно n.
  8. Конец процедуры zero.
  9. Конец программы.

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


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

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

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