0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 17
1

В матрице А найти строку с максимальной суммой модулей её элементов и из неё получить вектор

02.12.2017, 17:10. Показов 1390. Ответов 3
Метки нет (Все метки)

Здравствуйте, Вот полная формулировка: В матрице А найти первую по порядку строку с максимальной суммой модулей ее
элементов. Вектор x получить из найденной строки циклическим сдвигом ее элементов на 2
позиции влево. Также прикладываю скрин. Заранее благодарю за любую помощь.

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
program Lab12_7;
const
 N=10;
type
 TMatrix=array [1..N,1..N] of real;
 TVector=array [1..N] of real;
procedure FillMatrix(var A:TMatrix; N:integer);
var
 i,j:integer;
begin
 for i:=1 to N do
    for j:=1 to N do
      A[i,j]:=sin(i+j)
end;
procedure MaxString(var A:TMatrix; N:integer);
var
 max,sum:real;
 j,i,z:integer;
begin
   max:=0;
     for i:=1 to N do begin
          sum:=0;
        for j:=1 to N do begin
          sum:=sum + A[i,j];
          if sum > max then
            begin
               max:=sum;
            end;
         end;
      z:=i;
   end;
end;
procedure GetVector(var X:TVector; A:TMatrix; N:integer);
var
  z,i:integer;
  c:real;
begin
  for i:=1 to N-2 do
  X[z]:=A[z-2,N]
end;
function G(var X:TVector;N:integer):real;
var
 i:integer;
 sum,Gf:real;
 begin
  sum:=0;
  for i:=1 to N do begin
     sum:=sum+X[i];
     Gf:=sum;
  end;
end;
var
 A:TMatrix;
 X:TVector;
 i,j:integer;
 Gf,c:real;
begin
 FillMatrix(A,N);
 writeln('Матрица А');
 for i:=1 to N do begin
 for j:=1 to N do
 write(A[i,j]:7:2);
 writeln;
 end;
 MaxString(A,N);
 GetVector(X,A,N);
 writeln('Вектор X');
 write(X[N]:7:2);
 writeln;
 Gf:=G(X,N);
 writeln('Функция g=', Gf:7:3);
end.
Миниатюры
В матрице А найти строку с максимальной суммой модулей её элементов и из неё получить вектор  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2017, 17:10
Ответы с готовыми решениями:

найти строку с максимальной суммой модулей элементов.
Среди тех строк целочисленной матрицы, которые содержат только нечетные элементы, найти строку с...

В матрице X найти строку с минимальной и столбец с максимальной суммой элементов
Спасайте!Не могу решить(( Дана матрица X размерности nXm.В матрице X найти строку с минимальной и...

В матрице найти столбец с максимальной суммой элементов
найти столбец с максимальной суммой элементов

Двумерный массив, найти строку с максимальной и столбец с мининимальной суммой элементов
Дан двумерный массив размером n*m, заполненный случайными числами. Определить в нем строку с...

3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32230 / 20869 / 8085
Регистрация: 22.10.2011
Сообщений: 36,105
Записей в блоге: 7
02.12.2017, 17:33 2
Лучший ответ Сообщение было отмечено ggyrdanagibator как решение

Решение

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
program Lab12_7;
 
const
  N = 10;
 
type
  TVector = array [1..N] of real;
  TMatrix = array [1..N] of TVector;
 
procedure FillMatrix(var A: TMatrix; N: integer);
begin
  for var i := 1 to N do
    for var j := 1 to N do
      A[i, j] := sin(i + j)
end;
 
function MaxString(var A: TMatrix; N: integer): integer;
var
  max, sum: real;
begin
  max := 0;
  for var i := 1 to N do 
  begin
    sum := 0;
    for var j := 1 to N do 
      sum := sum + abs(A[i, j]);
    if sum > max then
    begin
      max := sum;MaxString := i;
    end;
  end;
end;
 
procedure GetVector(var X: TVector; A: TMatrix; N: integer; ix: integer);
begin
  for var i := 1 to N - 2 do
    X[i] := A[ix, i + 2];
  X[N - 1] := A[ix, 1];
  X[N] := A[ix, 2];
end;
 
function G(var X: TVector; N: integer): real;
var
  p: real;
begin
  p := 1;
  for var i := 1 to N do 
  begin
    p := p * X[i];
  end;
  G := Sqrt(abs(p));
end;
 
var
  A: TMatrix;
  X: TVector;
  Gf: real;
  mx: integer;
 
begin
  FillMatrix(A, N);
  writeln('Матрица А');
  for var i := 1 to N do 
  begin
    for var j := 1 to N do
      write(A[i, j]:7:2);
    writeln;
  end;
  mx := MaxString(A, N);
  GetVector(X, A, N, mx);
  writeln('Вектор X');
  for var i := 1 to n do write(X[i]:7:2);
  writeln;
  Gf := G(X, N);
  writeln('Функция g=', Gf:7:3);
end.
, как-то так...
1
0 / 0 / 0
Регистрация: 17.02.2016
Сообщений: 17
02.12.2017, 18:59  [ТС] 3
Спасибо большое!
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32230 / 20869 / 8085
Регистрация: 22.10.2011
Сообщений: 36,105
Записей в блоге: 7
02.12.2017, 19:43 4
Хотя то же самое делается гораздо проще:
Pascal
1
2
3
4
5
6
7
8
9
10
const n = 10;
 
begin
  writeln('Матрица A');
  var A := MatrGen(n, n, (i, j) -> sin(2 + i + j)).Println(7);
  var X := (A.Rows.MaxBy(v -> v.Sum(i -> Abs(i))) * 2).Skip(2).Take(n);
  writeln('Вектор X');X.ForEach(x -> write(x:7:2));
  var G := Sqrt(Abs(X.Aggregate(1.0, (x, y) -> x * y)));
  writeln(NewLine, 'Функция G = ', G:7:3);
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2017, 19:43
Помогаю со студенческими работами здесь

В матрице найти строку с минимальной суммой элементов.
Помогите очень срочно надо. Дан двумерный массив. Найти строку с минемальной суммой элементов.

Дополнить рабочий код: в матрице найти строку с наибольшей суммой элементов
Создайте Паскаль программу для решения задачи Дана прямоугольная матрица C. Найти строку с...

Поменять в матрице местами строки с максимальной суммой элементов и наименьшим произведением элементов
дан текстовый файл, содержащий матрицу mxn Поменять в ней местами строки с максимальной суммой...

В матрице поменять местами строки с максимальной и минимальной суммой элементов
Помогите плиз. Заданы 2 матрицы действительных чисел размером 5х6 и 8х7. В матрице поменять...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru