Переделать код с С++ в Pascal - Free Pascal

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

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

Листинг программы
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <ctime>
  4. using namespace std;
  5. int main()
  6. {
  7. setlocale(LC_CTYPE, "rus");
  8. srand(time(NULL));
  9. const int n = 10;
  10. const int m = 3;
  11. int masA[n][m];//int - це intger
  12. int masB[n];
  13. for (int i = 0; i < n; i++) //Задаэмо значення в паскалi (for i:= 0 to n do)
  14. {
  15. for (int j = 0; j < m; j++)
  16. {
  17. masA[i][j] = rand() % 6 + 1;//rand() - рандомнi числа
  18. cout << masA[i][j] << ' ';
  19. }
  20. cout << endl;
  21. }
  22. cout << endl;//cout - це "write" в паскалi
  23.  
  24. //======================================
  25. //Це основный алгоритм
  26. int masS[n];//сумма строки
  27. for (int i = 0; i < n; i++)
  28. {
  29. masS[i] = 0;
  30. for (int j = 0; j < m; j++)
  31. {
  32. if (masA[i][j] % 2 == 0)//якщо э остача вiд дiдення то непарне
  33. masA[i][j] = 0;
  34. else
  35. masA[i][j] = 1;
  36. masS[i] += masA[i][j];//кожна строка додаэься
  37. }
  38. if (masS[i] == 0)//якщо сумма парна то 1, 0 якщо нi
  39. masB[i] = 0;
  40. else
  41. masB[i] = 1;
  42. }
  43. //==========================================
  44. for (int i = 0; i < n; i++)//вивiд
  45. cout << masB[i] << ' ';
  46. system("pause");
  47. return 0;
  48. }

Решение задачи: «Переделать код с С++ в Pascal»

textual
Листинг программы
  1. var
  2.     masA: Array Of Array Of Integer;
  3.     masB, masS: Array Of Integer;
  4.     i, j, n, m: Byte;
  5. begin
  6.     Write('n='); ReadLn(n);
  7.     Write('m='); ReadLn(m);
  8.     SetLength(masA, n, m);
  9.     SetLength(masB, n); SetLength(masS, n);
  10.     Randomize;
  11.     for i := 0 to n - 1 do
  12.     begin
  13.         for j := 0 to m - 1 do
  14.         begin
  15.             masA[i, j] := Random(6) + 1;
  16.             Write(masA[i, j]:2);
  17.         end;
  18.         WriteLn;
  19.     end;
  20.     for i := 0 to n - 1 do
  21.     begin
  22.         masS[i] := 0;
  23.         for j := 0 to m - 1 do
  24.             Inc(masS[i], Ord(Odd(masA[i, j])));
  25.         masB[i] := Ord(Odd(masS[i]));
  26.     end;
  27.     WriteLn;
  28.     for i := 0 to n - 1 do
  29.         Write(masB[i]:2);
  30. 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

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

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

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