Переделать код с С++ в 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.

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

  1. Объявлены массивы masA, masB, masS и переменные i, j, n, m типа Byte.
  2. Пользователю предлагается ввести значения n и m.
  3. Массив masA инициализируется размером n на m.
  4. Массив masB инициализируется размером n.
  5. Массив masS инициализируется размером n.
  6. В цикле происходит заполнение массива masA случайными целыми числами от 1 до 6.
  7. В цикле происходит подсчет количества нечетных чисел в каждом столбце массива masA и запись результата в соответствующий элемент массива masS.
  8. В цикле происходит подсчет количества нечетных чисел в каждом элементе массива masS и запись результата в соответствующий элемент массива masB.
  9. Выводится массив masB.

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


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

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

11   голосов , оценка 4.091 из 5