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

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

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

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

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

textual
Листинг программы
  1. uses crt;
  2. const nmax=20;
  3. type mas=array[1..nmax] of integer; //Г¬Г*Г±Г±ГЁГў=ñòîëáåö Г¬Г*òðèöû
  4.      mtr=array[1..nmax] of mas; //Г¬Г*òðèöГ*=Г¬Г*Г±Г±ГЁГў ñòîëáöîâ
  5. procedure zero(var x:mas;n:byte); //ïðîöåäóðГ* Г§Г*ìåГ*Г»
  6. var i:byte;
  7. begin
  8. for i:=1 to n do
  9. if x[i]>0 then x[i]:=0;
  10. end;
  11. var b:mtr;
  12.     r,c,i,j,n,k:byte;
  13. begin
  14. randomize;
  15. repeat
  16. write('Êîëè÷åñòâî ñòðîê îò 1 äî ',nmax,' r=');
  17. read(r);
  18. until r in [1..nmax];
  19. repeat
  20. write('Êîëè÷åñòâî ñòîëáöîâ îò 2 äî ',nmax,' c=');
  21. read(c);
  22. until c in [2..nmax];
  23. writeln('ГЊГ*òðèöГ* B:');//Г§Г*ïîëГ*ГЁГ¬ ñòîëáöû Г¬Г*òðèöû
  24. for j:=1 to c do
  25. for i:=1 to r do
  26. repeat
  27. b[j][i]:=-5+random(11);
  28. until b[j][i]<>0;   //ГЎГҐГ§ Г*îëåé
  29. for i:=1 to r do //âûâåäåì ïîñòðî÷Г*Г®
  30.  begin
  31.   for j:=1 to c do
  32.   write(b[j][i]:3);
  33.   writeln
  34.  end;
  35. repeat
  36. writeln('Ââåäèòå Г*îìåðГ* äâóõ Г°Г*Г§Г*ûõ ñòîëáöîâ îò 1 äî ',c);
  37. read(n,k);
  38. until(n in [1..c])and(k in [1..c])and(k<>n);
  39. zero(b[n],r);
  40. zero(b[k],r);
  41. writeln('Г‡Г*ìåГ*Г* ïîëîæèòåëüГ*ûõ Гў ñòîëáöГ*Гµ ',n,',',k,' Г*Г* Г*îëè');
  42. for i:=1 to r do
  43.  begin
  44.   for j:=1 to c do
  45.   write(b[j][i]:3);
  46.   writeln
  47.  end;
  48. 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

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

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

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