23 / 23 / 12
Регистрация: 29.11.2009
Сообщений: 210
1

каждый диагональный элемент заменить на максимальный в строке

22.01.2010, 20:34. Показов 1013. Ответов 2
Метки нет (Все метки)

Уважаємие програмери Помогите пожалуста решить 2 задачки:
1.В произвольно заданной матрицы определить самый большой элемент, вычислить сумму абсолютных величин элементов по столбцам и определить из них наибольшую.
2. В двохвимирному массиве каждый диагональный элемент заменить на максимальный в строке.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2010, 20:34
Ответы с готовыми решениями:

В матрице заменить каждый диагональный элемент на сумму всех других элементов столбца
В двухмерную массиве заменить каждый диагональный элемент на сумму всех других элементов этого...

Каждую строку разделить на максимальный элемент в строке, каждый столбец - на максимальный в столбце
Последняя задача помогите пожалуйста

Каждый элемент таблицы заменить на максимальный элемент строки и столбца
Помогите, пожалуйста, не успеваю в срок:impossible: Требуется написать подпрограмму обработки ...

В каждой строке матрицы найти максимальный элемент и заменить им первый элемент строки
В матрице Х(4,5) в каждой строке найти максимальный элемент и заменить им первый элемент строки....

2
Retired
7726 / 2558 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
22.01.2010, 22:48 2
Лучший ответ Сообщение было отмечено Rom@ как решение

Решение

В двохвимирному массиве каждый диагональный элемент заменить на максимальный в строке
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
uses
  Crt;
const
  N=4;
  M=4;
var
  a:array [1..N,1..M] of integer;
  i,j,imax,jmax,temp:integer;
begin
  ClrScr;
  WriteLn('Matrix:');
  for i:=1 to N do
  begin
    for j:=1 to M do
    begin
      a[i,j]:=random(8)-4;
      Write(a[i,j]:2,' ')
    end;
    WriteLn
  end;
  for i:=1 to N do
  begin
    imax:=i;
    jmax:=1;
    for j:=2 to M do
      if a[i,j]>a[imax,jmax] then
      begin
        imax:=i;
        jmax:=j
      end;
    temp:=a[i,i];
    a[i,i]:=a[imax,jmax];
    a[imax,jmax]:=temp
  end;
  writeln('Result:');
  for i:=1 to N do
  begin
    for j:=1 to M do
      write(a[i,j]:2,' ');
    writeln
  end;
end.
1
829 / 352 / 64
Регистрация: 30.01.2009
Сообщений: 1,204
22.01.2010, 23:16 3
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Program m_m;
  Uses Crt;
  Const
    num = 50;
  Type
     matrix = array[1..num,1..num] of integer;
     vector = array[1..num] of longint;
  Var
      x : matrix;
    modulus : vector;
    n : byte;
 
  Function Max(a : matrix;
                         n : byte) : integer;
    Var i,j : byte; maxi : integer;
    Begin
      maxi := a[1,1];
      For i := 2 to n do
      For j := 1 to n do
            If a[i,j] > maxi Then maxi := a[i,j];
    Max := maxi;
    End;
 
  Function Max_v(a : vector;
                           n : byte) : longint;
    Var
    i : byte;
    maxi : longint;
    Begin
      maxi := a[1];
      For i := 2 to n do
        If a[i] > maxi Then maxi := a[i];
    Max_v := maxi;
    End;
 
  Procedure Absolute_value(a : matrix;
                           var b : vector;
                           n : byte);
  Var i,j : byte;
    Begin
    For i := 1 to n do
    Begin
      b[i] := 0;
      For j := 1 to n do
        b[i] := b[i] + Abs(a[j,i]);
    End;
    End;
 
  Procedure InPut(var a : matrix;
                  n : byte);
    Var i,j : byte;
    Begin
      Randomize;
      For i := 1 to n do
      For j := 1 to n do
            a[i,j] := random(20) - 10;
    End;
 
  Procedure Out_V(a: vector;
                n : byte);
    Var i : byte; abs_max : longint;
    Begin
    abs_max := max_v(a,n);
      For i := 1 to n do
    Begin
      Textcolor(LightGray);
          If a[i] = abs_max Then TextColor(Red);
      Write(a[i]:6);
    End;
      Writeln;
    End;
 
  Procedure Out(a: matrix;
                n : byte);
    Var i,j : byte;
    Begin
      For i := 1 to n do
    Begin
      For j := 1 to n do
            Write(a[i,j]:6);
      Writeln;
    End;
    Writeln;
    End;
    
BEGIN
  ClrScr;
  Write('Введите порядок матрицы: '); Readln(n);
  InPut(x,n); Writeln('Матрица X:'); Out(x,n);
  Writeln('Максимальный элемент матрицы X: ',Max(x,n));
  Writeln('Сумма абсолютных велечин по столбцу:');
  Absolute_value(x,modulus,n); Out_v(modulus,n);
  Readkey;
END.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2010, 23:16
Помогаю со студенческими работами здесь

Разделить каждый элемент на диагональный
В матрице Z(m,m) каждый элемент разделить на диагональный, стоящий в том же столбце.

Найти максимальный элемент в каждом столбце и минимальный элемент в каждой строке и заменить их нулями
ребята, помогите пожалуйста, нужно задать двумерный массив(пользователем вводится кол-во столбцов и...

В матрице Z (n, n) каждый элемент разделить на диагональный
В матрице Z(n,n) каждый элемент разделить на диагональный,стоящий в том же столбце.

найти максимальный диагональный элемент
найти максимальный диагональный элемент и указать его координаты в главной диагонали матрицы:)


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

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

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