Переведите, пожалуйста код с Паскаля на QBasic и отредактируйте код под условие задачи

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

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

Ниже расположено условие задачи.

Даны натуральное число

m

, целые числа и целочисленная квадратная матрица порядка

m

. Строку с номером матрицы

i

назовем отмеченной, если , и неотмеченной в противном случае. а) Нужно все элементы, расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на -1, положительные — на +1, а нулевые оставить без изменения. б) Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках.

Далее код программы который написан на паскале.

Листинг программы
  1. program Project2;
  2. Const
  3. m=3;
  4. Var
  5. a:array [1..m] of integer;
  6. b:array [1..m,1..m] of integer;
  7. i,j:integer;
  8. count:integer;
  9. begin
  10. count:=0; // Условие 2
  11. // Ввод данных
  12. Writeln('Введите ',m,' цифры');
  13. For i:=1 to m do
  14. Readln(a[i]);
  15. Writeln('Введите матрицу порядка ',m,'x',m,' построчно');
  16. For i:=1 to m do
  17. For j:=1 to m do
  18. Begin
  19. Readln(b[i,j]);
  20. {// Замена элементов по условию 1
  21. If a>0 Then
  22. Begin
  23. If b[i,j]>0 then b[i,j]:=1;
  24. If b[i,j]<0 then b[i,j]:=-1;
  25. End;}
  26. // Замена элементов по условию 2
  27. If a[i]>0 Then
  28. Begin
  29. If b[i,j]<0 then count:=count+1;
  30. End;
  31. End;
  32. // Вывод ответа по условию 1
  33. Writeln;
  34. Writeln('Полученая матрица: ');
  35. For i:=1 to m do
  36. Begin
  37. For j:=1 to m do
  38. Write(b[i,j]:4);
  39. Writeln;
  40. End;
  41. // Вывод ответа по условию 2
  42. Writeln('В матрице содаржится ',count,' отрицательных элементов');
  43. Readln;
  44. end.
Переведите код с паскаля на QBasic и проверьте работоспособность кода. Отредактируйте так, что-бы обе матрицы заполнялись рандомными числами. И что-бы на экран выводилась матрица по условию задачи ( то есть состоящая из 1, -1, и 0). Если в коде допущены ошибки то исправьте их и укажете на ошибки. Заранее спасибо и с меня плюсики тем кто поможет))

Решение задачи: «Переведите, пожалуйста код с Паскаля на QBasic и отредактируйте код под условие задачи»

textual
Листинг программы
  1. INPUT "m="; m
  2. DIM a(1 TO m) AS INTEGER, b(1 TO m, 1 TO m) AS INTEGER
  3. FOR i = 1 TO m
  4.   PRINT "A("; i; ")=";
  5.   INPUT a(i)
  6. NEXT
  7. cnt = 0
  8. FOR i = 1 TO m
  9.   FOR j = 1 TO m
  10.     PRINT "B("; i; ","; j; ")=";
  11.     INPUT b(i, j)
  12.     IF a(i) > 0 THEN
  13.       IF b(i, j) < 0 THEN
  14.         cnt = cnt + 1
  15.         b(i, j) = -1
  16.       ELSEIF b(i, j) > 0 THEN
  17.         b(i, j) = 1
  18.       END IF
  19.     END IF
  20.   NEXT
  21. NEXT
  22. PRINT "Результат:"
  23. PRINT "A=", "B="
  24. FOR i = 1 TO m
  25.   PRINT a(i);
  26.   FOR j = 1 TO m
  27.     PRINT , b(i, j);
  28.   NEXT
  29.   PRINT
  30. NEXT
  31. PRINT "Отрицательных элементов в отмеченных строках: "; cnt

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

  1. Пользователю предлагается ввести значение переменной m с помощью команды INPUT m=.
  2. Затем объявляются две матрицы: a(1 TO m) AS INTEGER и b(1 TO m, 1 TO m) AS INTEGER.
  3. Далее, с помощью двух циклов FOR, пользователю предлагается ввести все значения матрицы a и b.
  4. В каждой ячейке матрицы b значение проверяется на отрицательность, и если оно отрицательное, то заменяется на -1.
  5. Если значение в ячейке матрицы b положительное, то оно заменяется на 1.
  6. Выводится сообщение Результат:, а затем выводятся значения матрицы a и b.
  7. Выводится сообщение Отрицательных элементов в отмеченных строках:, а затем выводится значение переменной cnt, которая подсчитывает количество отрицательных элементов в матрице b.

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


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

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

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

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

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

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