ЗАДАЧА:
Для матрицы A выполнить следующие преобразования:
а) перестановку двух столбцов
б) добавление элементов r-й строки к соответствующим значениям л-й строки, умноженных на одно и то же число S, r=2, k=4, s=9
|2 5 5 6 6 -4|
|1 6 2 3 5 -5|
|1 4 3 7 2 -3|
A=|2 5 5 6 7 3|
|6 0 3 1 4 0|
ВОТ ЧТО У МЕНЯ ПОЛУЧИЛОСЬ:
DECLARE SUB B(A())
DECLARE SUB C(A())
CLS
DIM A(6,6)
DATA 2,5,5,6,6,-4,1,6,2,3,5,-5,1,6,2,3,5,-5,1,4,3,7,2,-3,2,5,5,6,7,3,6,0,3,1,4,0,5,7,-2,4,-3,5
FOR I=1 TO 6
FOR J=1 TO 6
READ A(I,J)
NEXT J
NEXT I
CALL B(A())
CALL C(A())
FOR I=1 TO 6
FOR J=1 TO 6
PRINT USING "##"; A(I,J);
NEXT J
PRINT
NEXT I
SUB B(A())
R=2
K=4
FOR I=1 TO 6
FOR J=1 TO 6
PRINT A(I,J)
NEXT J
PRINT
NEXT I
B(I,J)= A(R,J)+A(K,J)
PRINT "B="; B(I,J)
END SUB
SUB C(A())
R=2
K=4
S=9
FOR I=1 TO 6
C(I,J)= A(I,R)*S+A(I,K)*S
NEXT I
PRINT "C="; C(I,J)
END SUB
Другие языки программирования и технологии
КТО знает програмирование по QBASIC Описание темы: ПОМОГИТЕ НАЙТИ ОШИБКИ В ПРОГРАММЕ
> ВОТ ЧТО У МЕНЯ ПОЛУЧИЛОСЬ
А получилось не то, что требовалось.
Нет перестановки столбцов. Кстати, в задании не указаны номера этих столбцов. Пусть будут r и k.
Задание б) сделано не правильно.
В подпрограммах откуда-то появляются массивы B и C с именами, совпадающими с именами подпрограмм. л-я строка - видимо k-я.
Ну, на необъявленные переменные в qBasic можно закрыть глаза.
DECLARE SUB OutArray (A())
DECLARE SUB B (A(), r, k)
DECLARE SUB C (A(), r, k, s)
CLS
DIM A(6, 6)
DATA 2,5,5,6,6,-4,1,6,2,3,5,-5,1,4,3,7,2,-3
DATA 2,5,5,6,7,3,6,0,3,1,4,0,5,7,-2,4,-3,5
FOR I = 1 TO 6
FOR j = 1 TO 6
READ A(I, j)
NEXT j
NEXT I
r = 2
k = 4
s = 9
CALL OutArray(A())
CALL B(A(), r, k)
CALL OutArray(A())
CALL C(A(), r, k, s)
CALL OutArray(A())
END
SUB B (A(), r, k)
FOR I = 1 TO 6
temp = A(I, r)
A(I, r) = A(I, k)
A(I, k) = temp
NEXT
END SUB
SUB C (A(), r, k, s)
FOR j = 1 TO 6
A(k, j) = A(k, j) * s + A(r, j)
NEXT
END SUB
SUB OutArray (A())
PRINT "Массив: "
FOR I = 1 TO 6
FOR j = 1 TO 6
PRINT USING "###"; A(I, j);
NEXT
PRINT
NEXT
PRINT
END SUB
А получилось не то, что требовалось.
Нет перестановки столбцов. Кстати, в задании не указаны номера этих столбцов. Пусть будут r и k.
Задание б) сделано не правильно.
В подпрограммах откуда-то появляются массивы B и C с именами, совпадающими с именами подпрограмм. л-я строка - видимо k-я.
Ну, на необъявленные переменные в qBasic можно закрыть глаза.
DECLARE SUB OutArray (A())
DECLARE SUB B (A(), r, k)
DECLARE SUB C (A(), r, k, s)
CLS
DIM A(6, 6)
DATA 2,5,5,6,6,-4,1,6,2,3,5,-5,1,4,3,7,2,-3
DATA 2,5,5,6,7,3,6,0,3,1,4,0,5,7,-2,4,-3,5
FOR I = 1 TO 6
FOR j = 1 TO 6
READ A(I, j)
NEXT j
NEXT I
r = 2
k = 4
s = 9
CALL OutArray(A())
CALL B(A(), r, k)
CALL OutArray(A())
CALL C(A(), r, k, s)
CALL OutArray(A())
END
SUB B (A(), r, k)
FOR I = 1 TO 6
temp = A(I, r)
A(I, r) = A(I, k)
A(I, k) = temp
NEXT
END SUB
SUB C (A(), r, k, s)
FOR j = 1 TO 6
A(k, j) = A(k, j) * s + A(r, j)
NEXT
END SUB
SUB OutArray (A())
PRINT "Массив: "
FOR I = 1 TO 6
FOR j = 1 TO 6
PRINT USING "###"; A(I, j);
NEXT
NEXT
END SUB
Похожие вопросы
- помогите найти ошибка в программе на PASCAL тема: "файлы".
- Помогите найти ошибку в программе. C++
- Помогите найти ошибку в программе и исправить ее.
- Помогите найти ошибки в программе!
- Помогите найти ошибку в программе С++
- Помогите найти ошибку в программе Паскаль!
- Всем добрый вечер) пожалуйста,помогите найти ошибку в программе-->
- Помогите найти ошибку в программе (паскаль)
- Помогите найти ошибку в программе.
- Помогите найти ошибку в программе, заранее спасибо)