Конвертация кода С++ в паскаль - Pascal ABC

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

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

Здравствуйте, нужно переконвертировать код с++ в паскаль. Спасибо за помощь

Решение задачи: «Конвертация кода С++ в паскаль»

textual
Листинг программы
const m=3; n=4;
label SKIP_LABEL;
var
  matrix: array [1..m,1..n] of integer;
  i, j, cnt: integer;
  q: boolean;
begin
  Randomize;
  for i:=1 to m do begin
    for j:=1 to n do begin
      matrix[i,j]:=Random(10)-5; Write(matrix[i,j]:4);
    end; WriteLn;
  end;
  cnt:=0; { глобальную переменную можно нулем не инициализировать }
  for j:=1 to n do begin
    if matrix[1,j]<>0 then begin
      q:=matrix[1,j]>0;
      for i:=1 to m do
        if (matrix[i,j]=0) or ((matrix[i,j]>0)<>q) then
          goto SKIP_LABEL;
      inc(cnt);
    end;
SKIP_LABEL:
  end;
  WriteLn('result: ',cnt);
end.

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

  1. const m=3; n=4; — задаются константы для переменных m и n
  2. label SKIP_LABEL; — создается метка SKIP_LABEL для использования в цикле
  3. var matrix: array [1..m,1..n] of integer; — объявляется переменная matrix типа array[1..m,1..n] of integer i, j, cnt: integer; — объявляются переменные i, j и cnt типа integer q: boolean; — объявляется переменная q типа boolean
  4. begin
  5. Randomize; — вызывается функция Randomize для инициализации генератора случайных чисел
  6. for i:=1 to m do begin — начинается цикл for i от 1 до m
  7. for j:=1 to n do begin — начинается вложенный цикл for j от 1 до n
  8. matrix[i,j]:=Random(10)-5; — присваивается значение случайного числа переменной matrix[i,j]
  9. Write(matrix[i,j]:4); — выводится значение переменной matrix[i,j]
  10. end; — заканчивается вложенный цикл
  11. WriteLn; — выводится символ новой строки
  12. cnt:=0; — инициализируется глобальная переменная cnt значением 0
  13. for j:=1 to n do begin — начинается еще один цикл for j от 1 до n
  14. if matrix[1,j]<>0 then begin — проверяется условие matrix[1,j]<>0
  15. q:=matrix[1,j]>0; — присваивается значение q в зависимости от значения matrix[1,j]
  16. for i:=1 to m do
  17. if (matrix[i,j]=0) or ((matrix[i,j]>0)<>q) then
  18. goto SKIP_LABEL; — выполняется переход к метке SKIP_LABEL если выполняется условие
  19. inc(cnt); — увеличивается значение переменной cnt
  20. end; — заканчивается внутренний цикл
  21. SKIP_LABEL: — выводится символ новой строки
  22. end; — заканчивается внешний цикл
  23. WriteLn('result: ',cnt); — выводится результат в консоль
  24. end. — заканчивается программа

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


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

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

10   голосов , оценка 4.1 из 5