Переделать код с С++ в Pascal - Free Pascal
Формулировка задачи:
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
setlocale(LC_CTYPE, "rus");
srand(time(NULL));
const int n = 10;
const int m = 3;
int masA[n][m];//int - це intger
int masB[n];
for (int i = 0; i < n; i++) //Задаэмо значення в паскалi (for i:= 0 to n do)
{
for (int j = 0; j < m; j++)
{
masA[i][j] = rand() % 6 + 1;//rand() - рандомнi числа
cout << masA[i][j] << ' ';
}
cout << endl;
}
cout << endl;//cout - це "write" в паскалi
//======================================
//Це основный алгоритм
int masS[n];//сумма строки
for (int i = 0; i < n; i++)
{
masS[i] = 0;
for (int j = 0; j < m; j++)
{
if (masA[i][j] % 2 == 0)//якщо э остача вiд дiдення то непарне
masA[i][j] = 0;
else
masA[i][j] = 1;
masS[i] += masA[i][j];//кожна строка додаэься
}
if (masS[i] == 0)//якщо сумма парна то 1, 0 якщо нi
masB[i] = 0;
else
masB[i] = 1;
}
//==========================================
for (int i = 0; i < n; i++)//вивiд
cout << masB[i] << ' ';
system("pause");
return 0;
}Решение задачи: «Переделать код с С++ в Pascal»
textual
Листинг программы
var
masA: Array Of Array Of Integer;
masB, masS: Array Of Integer;
i, j, n, m: Byte;
begin
Write('n='); ReadLn(n);
Write('m='); ReadLn(m);
SetLength(masA, n, m);
SetLength(masB, n); SetLength(masS, n);
Randomize;
for i := 0 to n - 1 do
begin
for j := 0 to m - 1 do
begin
masA[i, j] := Random(6) + 1;
Write(masA[i, j]:2);
end;
WriteLn;
end;
for i := 0 to n - 1 do
begin
masS[i] := 0;
for j := 0 to m - 1 do
Inc(masS[i], Ord(Odd(masA[i, j])));
masB[i] := Ord(Odd(masS[i]));
end;
WriteLn;
for i := 0 to n - 1 do
Write(masB[i]:2);
end.
Объяснение кода листинга программы
- Объявлены массивы masA, masB, masS и переменные i, j, n, m типа Byte.
- Пользователю предлагается ввести значения n и m.
- Массив masA инициализируется размером n на m.
- Массив masB инициализируется размером n.
- Массив masS инициализируется размером n.
- В цикле происходит заполнение массива masA случайными целыми числами от 1 до 6.
- В цикле происходит подсчет количества нечетных чисел в каждом столбце массива masA и запись результата в соответствующий элемент массива masS.
- В цикле происходит подсчет количества нечетных чисел в каждом элементе массива masS и запись результата в соответствующий элемент массива masB.
- Выводится массив masB.