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

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

Здравствуйте, нужно переконвертировать код с++ в паскаль. Спасибо за помощь
#include <iostream>
#include <cstddef>
#include <cstdlib>
#include <ctime>
 
int main()
{
   const size_t m = 3;
   const size_t n = 4;
 
   int matrix[m][n];
 
   std::srand(std::time(NULL));
   for(size_t i = 0; i < m; ++i)
   {
      for(size_t j = 0; j < n; ++j)
      {
     matrix[i][j] = std::rand() % 10 - 5;
     std::cout.width(4);
     std::cout << matrix[i][j];
      }
      std::cout << "\n";
   }
 
   size_t cnt = 0;
 
   for(size_t j = 0; j < n; ++j)
   {
      if(matrix[0][j] != 0)
      {      
     bool q = matrix[0][j] > 0;
     for(size_t i = 1; i < m; ++i)
        if((matrix[i][j] == 0) || ((matrix[i][j] > 0) != q))
           goto SKIP_LABEL;          
     ++cnt;
      }
 
   SKIP_LABEL:;
   }
 
   std::cout << "result: " << cnt << "\n";
}

Код к задаче: «Конвертация кода С++ в паскаль - 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.

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


СОХРАНИТЬ ССЫЛКУ