Помощь - Поиск - Пользователи - Календарь
Полная версия: матрицы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Diman
Из заданных матриц А (n x m ) и В (n x m ), состоящих из вещественных чисел, образовать матрицу С (n x m ), у которой равен сумме элементов i-ой строки матрицы А, которые отсутствуют в j-ом столбце матрицы В. Написать функцию вычисления Cij , использующую функцию проверки наличия числа в j-ом столбце матрицы В.
volvo
Цитата(Diman @ 5.06.05 11:57)
...у которой ? равен сумме элементов...

Задание уточни ...
Diman
SORRY

Из заданных матриц А (m x n ) и В (m x n ), состоящих из вещественных чисел, образовать матрицу С (m x n ), у которой Cij равен сумме элементов i-ой строки матрицы А, которые отсутствуют в j-ом столбце матрицы В. Написать функцию вычисления Cij , использующую функцию проверки наличия числа в j-ом столбце матрицы В.
volvo
Вот так можно:
const
m = 4;
n = 3;
type
matrix = array[1 .. m, 1 .. n] of real;

var a, b: matrix;

function exists(j: integer; X: real): boolean;
var
flag: boolean;
k: integer;
begin
k := 1; flag := false;
while (k <= m) and (not flag) do begin
flag := (b[k, j] = X);
inc(k)
end;
exists := flag
end;

function sum_str(i, j: integer): real;
var
s: real;
k: integer;
begin
s := 0;
for k := 1 to n do
if not exists(j, a[i, k])
then s := s + a[i, k];
sum_str := s
end;

var
c: matrix;
i, j: integer;
begin
{ Ввод A, B }

for i := 1 to m do
for j := 1 to n do
c[i, j] := sum_str(i, j);

{ Вывод C }
end.

Тестировалось на:
const
a: matrix =
((1, 2, 3),
(2, 3, 4),
(5, 6, 7),
(3, 4, 5));
b: matrix =
((0, 0, 0),
(1, 0, 0),
(3, 6, 3),
(0, 3, 0));
Diman
Большое спасибо за помощь.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.