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

Найти наибольший элемент в заштрихованной области матрицы

01.07.2016, 09:37. Показов 1653. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе утро. Очень нужна помощь
Дана матрица А (n*n): 1) найти наибольший элемент в заштрихованной области матрицы;
2) Вставить первую строку перед всеми строками, в которых есть 0, а первый столбец после всех столбцов, в которых 0 отсутствует.
Найти наибольший элемент в заштрихованной области матрицы
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2016, 09:37
Ответы с готовыми решениями:

Найти наибольший элемент матрицы в заштрихованной части
Дана действительная квадратная матрица........

Найти минимальный элемент в заштрихованной области матрицы
дана матрица целых чисел В(n,n), где n-четное найти минимальный элемент в заштрихованной области

Найти наибольший элемент заштрихованной части матрицы размерности n*n
Найти наибольший элемент заштрихованной части матрицы размерности n*n

Найти наибольший и наименьший элемент заштрихованной части матрицы
Дано натуральное число n. Сформировать произвольную матрицу nxn. Найти наибольший и наименьший...

2
CAPITAL OF ROCK!
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
01.07.2016, 11:33 2
Лучший ответ Сообщение было отмечено BlackRabbit как решение

Решение

Не по теме:

июль начался с невысыпания


условие на нахождение в области - костыль. мож кто из старожил подправит.
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
{$MODE TP}
type
    TLine = Array[Byte] Of ShortInt;
    TArray = Array[Byte] Of TLine;
procedure PrintArray(const ar: TArray; const n, m: Byte);
var
    i, j: Byte;
begin
    for i := 0 to n - 1 do
    begin
        for j := 0 to m - 1 do
            Write(ar[i, j]:3);
        WriteLn;
    end;
    WriteLn;
end;
 
procedure InitArray(var ar: TArray; var n, m: Byte);
var
    i, j: Byte;
begin
    repeat
        Write('Input n(1..127, odd)=');
        ReadLn(n);
    until ((n in [1..127]) And Odd(n));
    m := n; Randomize();
    for i := 0 to n - 1 do
        for j := 0 to m - 1 do
            ar[i, j] := Random(19) - 9;
    PrintArray(ar, n, m);
end;
 
function Zad1(const ar: TArray; const n, m: Byte): ShortInt;
var
    i, j, iMax, jMax: Byte;
begin
    iMax := 0; jMax := 0;
    for i := 0 to n - 1 do
        for j := 0 to m - 1 do
            if ((((j <= i) And (i <= n div 2)) Or ((j >= i) And (i >= n div 2)) Or ((j + i + 1 >= n) And (i <= n div 2)) Or ((j + i + 1 <= n) And (i >= n div 2))) And (ar[i, j] > ar[iMax, jMax]))
            then
            begin
                iMax := i;
                jMax := j;
            end;
    WriteLn('Max: array[', iMax + 1, '][', jMax + 1, ']=', ar[iMax, jMax]);
    Zad1 := ar[iMax, jMax];
end;
 
procedure Zad2Lines(var ar: TArray; var n: Byte; const m: Byte);
    function LineHaveZero(const l: TLine; const m: Byte): Boolean;
    var
        j: Byte;
        Result: Boolean;
    begin
        Result := False; j := 0;
        while ((j < m) And (Not Result)) do
        begin
            Result := (l[j] = 0);
            Inc(j);
        end;
        LineHaveZero := Result;
    end;
var
    i, k: Byte;
begin
    i := 0;
    while (i < n) do
    begin
        if LineHaveZero(ar[i], m)
        then
        begin
            for k := n downto i + 1 do
                ar[k] := ar[k - 1];
            Inc(n);
            ar[i] := ar[0];
            Inc(i);
        end;
        Inc(i);
    end;
    PrintArray(ar, n, m);
end;
 
procedure Zad2Columns(var ar: TArray; const n: Byte; var m: Byte);
    function ColumnHaventZero(const ar: TArray; const n, j: Byte): Boolean;
    var
        i: Byte;
        Result: Boolean;
    begin
        Result := True; i := 0;
        while ((i < n) And Result) do
        begin
            Result := (ar[i, j] <> 0);
            Inc(i);
        end;
        ColumnHaventZero := Result;
    end;
var
    i, j, k: Byte;
begin
    j := 0;
    while (j < m) do
    begin
        if ColumnHaventZero(ar, n, j)
        then
        begin
            for k := m downto j + 2 do
                for i := 0 to n - 1 do
                    ar[i, k] := ar[i, k - 1];
            Inc(m);
            for i := 0 to n - 1 do
                ar[i, j + 1] := ar[i, 0];
            Inc(j);
        end;
        Inc(j);
    end;
    PrintArray(ar, n, m);
end;
 
var
    ar: TArray;
    n, m: Byte;
begin
    InitArray(ar, n, m);
    Zad1(ar, n, m);
    Zad2Lines(ar, n, m);
    Zad2Columns(ar, n, m);
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7788 / 4613 / 2828
Регистрация: 22.11.2013
Сообщений: 13,111
Записей в блоге: 1
01.07.2016, 12:31 3
JokeR.BY,
как вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses Crt;
const n=7;
var
  a: array [1..n,1..n] of Integer;
  i, j: Integer;
begin
  Randomize;
  for i:=1 to n do begin
    for j:=1 to n do begin
      if ((i>j) xor (i>n-j)) or (i=j) or (i=n-j+1) then
        TextAttr:=Red else TextAttr:=LightGray;
      a[i,j]:= Random(100); Write(a[i,j]:4);
    end; WriteLn;
  end;
end.
0
01.07.2016, 12:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2016, 12:31
Помогаю со студенческими работами здесь

Найти наибольший элемент заштрихованной части матрицы размерности (на рисунке 1 цифра под буквой б)
Найти наибольший элемент заштрихованной части матрицы размерности n*n(на рисунке 1 цифра под буквой...

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

Найти наибольший элемент в каждой строке, и найменший элемент в каждом столбце матрицы А(nxn)
Выручите, пожалуйста! 1.Вычислить коэффициент b0 и b1 линейного приближения y=b0+b1x за...

Найти максимальный элемент в заштрихованной части матрицы
Помогите решить задачку. нужно составить схему алгоритма гл. программы и подпрограммы, главную...


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

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

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