Помощь - Поиск - Пользователи - Календарь
Полная версия: матрицы
Форум «Всё о Паскале» > 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
Большое спасибо за помощь.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.