С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
1Евгения1
0 / 0 / 0
Регистрация: 01.04.2015
Сообщений: 5
1

Сформировать три матрицы по правилам

08.04.2015, 16:25. Просмотров 457. Ответов 6
Метки нет (Все метки)

Сформировать матрицы A,B,C: а(i,j)={5, j=2; y, j не равно 2}; b(i,j)={3j, i=5; 2, i не равно 5}; c(i,j)={i/j, j не равно 1, 0, j=1} и выполнить (A+B)^T*C
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2015, 16:25
Ответы с готовыми решениями:

Сформировать матрицы по заданным правилам
Сформировать матрицы {a i,j}n,m,{b i,j}k,l, где i<=(n,k), j<=(m,l), по заданным...

Сформировать новый массив Zm по следующим правилам
Даны 2 одномерных массива Xn и Yn. Сформировать новый массив Zm по следующим...

Сформировать из двумерного массива одномерные по заданным правилам
Здравствуйте, помогите пожалуйста с решением задачи на массив. Дан...

Согласно правилам проведения футбольных турниров, за победу команде начисляются три очка, за ничью - одно, за поражение - ноль
Задача: Согласно правилам проведения футбольных турниров, за победу команде...

Сформировать из матрицы A матрицы по правилу; найти максимальный по модулю элемент первой строки матрицы
В целочисленной матрице А(3,4) найти m-количество положительных элементов,...

6
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
4291 / 3108 / 3823
Регистрация: 05.06.2014
Сообщений: 15,604
10.04.2015, 08:44 2
Цитата Сообщение от 1Евгения1 Посмотреть сообщение
(A+B)^T*C
То есть, сумму матриц возвести в степень, причем степенью является матрица, умноженная на нечто?
Что-то не так здесь.
0
Cyborg Drone
Модератор
5480 / 3297 / 2483
Регистрация: 17.08.2012
Сообщений: 10,595
13.04.2015, 20:12 3
ZX Spectrum-128, нет, имеется ввиду, очевидно, (A+B)T*C. Никакого возведения в степень.
1
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
4291 / 3108 / 3823
Регистрация: 05.06.2014
Сообщений: 15,604
13.04.2015, 20:24 4
Cyborg Drone, сумму матриц нужно транспонировать и затем домножить на C?
0
Cyborg Drone
Модератор
5480 / 3297 / 2483
Регистрация: 17.08.2012
Сообщений: 10,595
13.04.2015, 20:37 5
Да, всё так, только я бы сказал чуть по-другому: "и затем умножить на матрицу C"
0
Puporev
Модератор
55510 / 42598 / 29445
Регистрация: 18.05.2008
Сообщений: 100,773
13.04.2015, 20:39 6
Получить матрицу D=A+B, транспонировать ее и умножить на матрицу С
0
Cyborg Drone
Модератор
5480 / 3297 / 2483
Регистрация: 17.08.2012
Сообщений: 10,595
17.04.2015, 11:27 7
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
const mn = 6;
 
type vec = array [1..mn] of real;
     mat = array [1..mn] of vec;
 
var m, n: integer;
 
procedure prnt(s: string; var x: mat);
var i, j: integer;
begin
  writeln;
  writeln('Матрица ', s);
  for i := 1 to m do
    begin
      for j := 1 to n do write(' ', x[i, j]:12);
      writeln
    end;
  write('нажмите <Enter>');
  readln
end;
 
var a, b, c, d, f: mat;
    i, j, k: integer;
    y, s: real;
 
begin
  {ввод исходных данных}
  writeln('Введите размеры исходных матриц:');
  repeat
    write('По горизонтали [1..', mn, ']? ');
    readln(n)
  until n in [1..mn];
  repeat
    write('По вертикали [1..', mn, ']? ');
    readln(m)
  until m in [1..mn];
  write('y = ');
  readln(y);
  {формирование матриц}
  for i := 1 to m do
    for j := 1 to n do
      begin
        if j = 2 then a[i, j] := 5 else a[i, j] := y;
        if i = 5 then b[i, j] := 3 * j else b[i, j] := 2;
        if j = 1 then c[i, j] := 0 else c[i, j] := i / j
      end;
  {печать матриц}
  prnt('A:', a);
  prnt('B:', b);
  prnt('C:', c);
  {A+B}
  for i := 1 to m do for j := 1 to m do d[i, j] := a[i, j] + b[i, j];
  prnt('A+B', d);
  {(A+B)^T}
  if m > n then k := m else k := n;
  for i := 1 to k - 1 do
    for j := i + 1 to k do
      begin
        s := d[i, j];
        d[i, j] := d[j, i];
        d[j, i] := s;
      end;
  k := m;
  m := n;
  n := k;
  prnt('(A+B)^T', d);
  {(A+B)^T*C}
  for i := 1 to m do
    for j := 1 to m do
      begin
        f[i, j] := 0;
        for k := 1 to n do f[i, j] := f[i, j] + d[i, k] * c[k, j]
      end;
  n := m;
  prnt('(A+B)^T*C', f)
end.
0
17.04.2015, 11:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2015, 11:27

Заданы три матрицы A(3,3), B(2,2), C(3,3). Найти минимальное из трех чисел x, y, z, где x - след матрицы A,
Заданы три матрицы A(3,3), B(2,2), C(3,3). Найти минимальное из трех чисел x,...

Даны три множества Х1, Х2, Х3 Сформировать новое множество
Помогите пожалуйста с задачей: Даны три множества Х1, Х2, Х3, содержащие целые...

С помощью генератора случайных значений сформировать три массива
Задача 1 С помощью генератора случайных значений сформировать три массива A, B,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru