Переведите, пожалуйста код с Паскаля на QBasic и отредактируйте код под условие задачи
Формулировка задачи:
Ниже расположено условие задачи.
Даны натуральное числоm
, целые числа и целочисленная квадратная матрица порядкаm
. Строку с номером матрицыi
назовем отмеченной, если , и неотмеченной в противном случае. а) Нужно все элементы, расположенные в отмеченных строках матрицы, преобразовать по правилу: отрицательные элементы заменить на -1, положительные — на +1, а нулевые оставить без изменения. б) Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках.Далее код программы который написан на паскале.
Листинг программы
- program Project2;
- Const
- m=3;
- Var
- a:array [1..m] of integer;
- b:array [1..m,1..m] of integer;
- i,j:integer;
- count:integer;
- begin
- count:=0; // Условие 2
- // Ввод данных
- Writeln('Введите ',m,' цифры');
- For i:=1 to m do
- Readln(a[i]);
- Writeln('Введите матрицу порядка ',m,'x',m,' построчно');
- For i:=1 to m do
- For j:=1 to m do
- Begin
- Readln(b[i,j]);
- {// Замена элементов по условию 1
- If a>0 Then
- Begin
- If b[i,j]>0 then b[i,j]:=1;
- If b[i,j]<0 then b[i,j]:=-1;
- End;}
- // Замена элементов по условию 2
- If a[i]>0 Then
- Begin
- If b[i,j]<0 then count:=count+1;
- End;
- End;
- // Вывод ответа по условию 1
- Writeln;
- Writeln('Полученая матрица: ');
- For i:=1 to m do
- Begin
- For j:=1 to m do
- Write(b[i,j]:4);
- Writeln;
- End;
- // Вывод ответа по условию 2
- Writeln('В матрице содаржится ',count,' отрицательных элементов');
- Readln;
- end.
Решение задачи: «Переведите, пожалуйста код с Паскаля на QBasic и отредактируйте код под условие задачи»
textual
Листинг программы
- INPUT "m="; m
- DIM a(1 TO m) AS INTEGER, b(1 TO m, 1 TO m) AS INTEGER
- FOR i = 1 TO m
- PRINT "A("; i; ")=";
- INPUT a(i)
- NEXT
- cnt = 0
- FOR i = 1 TO m
- FOR j = 1 TO m
- PRINT "B("; i; ","; j; ")=";
- INPUT b(i, j)
- IF a(i) > 0 THEN
- IF b(i, j) < 0 THEN
- cnt = cnt + 1
- b(i, j) = -1
- ELSEIF b(i, j) > 0 THEN
- b(i, j) = 1
- END IF
- END IF
- NEXT
- NEXT
- PRINT "Результат:"
- PRINT "A=", "B="
- FOR i = 1 TO m
- PRINT a(i);
- FOR j = 1 TO m
- PRINT , b(i, j);
- NEXT
- NEXT
- PRINT "Отрицательных элементов в отмеченных строках: "; cnt
Объяснение кода листинга программы
- Пользователю предлагается ввести значение переменной m с помощью команды INPUT
m=
. - Затем объявляются две матрицы: a(1 TO m) AS INTEGER и b(1 TO m, 1 TO m) AS INTEGER.
- Далее, с помощью двух циклов FOR, пользователю предлагается ввести все значения матрицы a и b.
- В каждой ячейке матрицы b значение проверяется на отрицательность, и если оно отрицательное, то заменяется на -1.
- Если значение в ячейке матрицы b положительное, то оно заменяется на 1.
- Выводится сообщение
Результат:
, а затем выводятся значения матрицы a и b. - Выводится сообщение
Отрицательных элементов в отмеченных строках:
, а затем выводится значение переменной cnt, которая подсчитывает количество отрицательных элементов в матрице b.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д