С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 5

Дан массив размера N. Найти максимальный из его элементов не являющийся ни локальным максимумом, ни локальным минимумом

21.10.2012, 09:08. Показов 2751. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан массив размера N.найти максимальный из его элементов не являющийся ни локальным максимумом, ни локальным минимумом.
кто-нибудь может помочь?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.10.2012, 09:08
Ответы с готовыми решениями:

Найти максимальный из элементов массива, не являющийся ни локальным минимумом, ни локальным максимумом
дан массив размера N.найти максимальный из его элементов,не являющихся ни локальным минимумом,ни локальным максимумом. с объяснением...

Найти максимальный элемент массива, не являющихся ни локальным минимумом, ни локальным максимумом
2. Найти максимальный из его элементов, не являющихся ни локальным минимумом, ни локальным максимумом, локальный минимум — это элемент,...

Массив: Найти максимальный из элементов массива, не являющихся ни локальным минимумом, ни локальным максимумом
Дан массив размера N. Найти максимальный из его элементов, не являющихся ни локальным минимумом, ни локальным максимумом (определения...

9
Фрилансер
 Аватар для CodeR
3418 / 2815 / 3000
Регистрация: 08.02.2012
Сообщений: 8,603
Записей в блоге: 1
21.10.2012, 09:24
Цитата Сообщение от Alise9 Посмотреть сообщение
ни локальным максимумом, ни локальным минимумом.
как это не локальным минимумом ни максимумом?приведите пример чтоль
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 5
21.10.2012, 09:28  [ТС]
Задача из Абрамяна.таково условие
0
 Аватар для MayaNash
1296 / 470 / 151
Регистрация: 24.08.2011
Сообщений: 2,249
21.10.2012, 12:17
Цитата Сообщение от Alise9 Посмотреть сообщение
ни локальным максимумом, ни локальным минимумом
вот это "локальным" смущает. если бы было просто "максимумом" и "минимумом", все было бы в порядке.
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 5
24.10.2012, 21:04  [ТС]
Цитата Сообщение от Керра Посмотреть сообщение
вот это "локальным" смущает. если бы было просто "максимумом" и "минимумом", все было бы в порядке.
Локальный максимум-элемент,который больше любого из своих соседей.если это поможет)
если таковых нет, то вывести ноль
0
7 / 7 / 0
Регистрация: 16.05.2012
Сообщений: 31
24.10.2012, 21:14
ну находишь самый большой элемент, потом делаешь проверку not((x-1<x)and (x+1<x)). Если true тогда ты выводишь иго , в другом случае выводишь 0.
0
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 5
25.10.2012, 10:51  [ТС]
Цитата Сообщение от byi_ja Посмотреть сообщение
ну находишь самый большой элемент, потом делаешь проверку not((x-1<x)and (x+1<x)). Если true тогда ты выводишь иго , в другом случае выводишь 0.
а можете написать эту программу?сталкиваюсь с паскалем впервые,поэтому вообще представления нет, как это делается(
0
539 / 399 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
25.10.2012, 14:51
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
uses crt;
const size = 10;
Var
  El, MaxEl,  iMax, jMax, i, j : integer;
  lMax, lMin,  mtr               : Array[1..size,1..size] of integer;
Begin
  ClrScr;
  Randomize;
{формируем матрицу случайным образом}
  For i:=1 to size do
    For j:=1 to size do
      begin
        mtr[i,j]:=100+ random(300);
        lMax[i,j]:=0; lMin[i,j]:=0;  
      end;
{сначала найдем все локальные минимумы и максимумы}
  For i:=1 to size do
    For j:=1 to size do
      begin
        El:=mtr[i,j];
        If i=1 then  {верхняя строка}
          begin
            If j=1 then
              begin
                If (El<mtr[i  ,j+1]) and
                   (El<mtr[i+1,j+1]) and
                   (El<mtr[i+1,j  ]) then lMin[i,j]:=1; {пометим локальный минимум}
                If (El>mtr[i  ,j+1]) and
                   (El>mtr[i+1,j+1]) and
                   (El>mtr[i+1,j  ]) then lMax[i,j]:=1; {пометим локальный максимум}
              end
            Else
              If j=size then
                begin
                  If (El<mtr[i  ,j-1]) and
                     (El<mtr[i+1,j-1]) and
                     (El<mtr[i+1,j  ]) then lMin[i,j]:=1;
                  If (El>mtr[i  ,j-1]) and
                     (El>mtr[i+1,j-1]) and
                     (El>mtr[i+1,j  ]) then lMax[i,j]:=1;
                end
              Else  {неугловые элементы верхней строки}
                begin
                  If (El<mtr[i  ,j-1]) and
                     (El<mtr[i+1,j-1]) and
                     (El<mtr[i+1,j  ]) and
                     (El<mtr[i+1,j+1]) and
                     (El<mtr[i  ,j+1]) then lMin[i,j]:=1;
                  If (El>mtr[i  ,j-1]) and
                     (El>mtr[i+1,j-1]) and
                     (El>mtr[i+1,j  ]) and
                     (El>mtr[i+1,j+1]) and
                     (El>mtr[i  ,j+1]) then lMax[i,j]:=1;
                end
          end
          {========================}
        Else
          If i=size then  {нижняя строка}
            begin
              If j=1 then
                begin
                  If (El<mtr[i-1,j  ]) and
                     (El<mtr[i-1,j+1]) and
                     (El<mtr[i  ,j+1]) then lMin[i,j]:=1;
                  If (El>mtr[i-1,j  ]) and
                     (El>mtr[i-1,j+1]) and
                     (El>mtr[i  ,j+1]) then lMax[i,j]:=1;
                end
              Else
                If j=size then
                  begin
                    If (El<mtr[i  ,j-1]) and
                       (El<mtr[i-1,j-1]) and
                       (El<mtr[i-1,j  ]) then lMin[i,j]:=1;
                    If (El>mtr[i  ,j-1]) and
                       (El>mtr[i-1,j-1]) and
                       (El>mtr[i-1,j  ]) then lMax[i,j]:=1;
                  end
                Else  {неугловые элементы нижней строки}
                  begin
                    If (El<mtr[i  ,j-1]) and
                       (El<mtr[i-1,j-1]) and
                       (El<mtr[i-1,j  ]) and
                       (El<mtr[i-1,j+1]) and
                       (El<mtr[i  ,j+1]) then lMin[i,j]:=1;
                    If (El>mtr[i  ,j-1]) and
                       (El>mtr[i-1,j-1]) and
                       (El>mtr[i-1,j  ]) and
                       (El>mtr[i-1,j+1]) and
                       (El>mtr[i  ,j+1]) then lMax[i,j]:=1;
                  end
            end
          Else
            If j=1 then  {левый столбец}
              begin
                If (El<mtr[i-1,j  ]) and
                   (El<mtr[i-1,j+1]) and
                   (El<mtr[i  ,j+1]) and
                   (El<mtr[i+1,j+1]) and
                   (El<mtr[i+1,j  ]) then lMin[i,j]:=1;
                If (El>mtr[i-1,j  ]) and
                   (El>mtr[i-1,j+1]) and
                   (El>mtr[i  ,j+1]) and
                   (El>mtr[i+1,j+1]) and
                   (El>mtr[i+1,j  ]) then lMax[i,j]:=1;
              end
            Else
              If j=size then  {правый столбец}
                begin
                  If (El<mtr[i-1,j  ]) and
                     (El<mtr[i-1,j-1]) and
                     (El<mtr[i  ,j-1]) and
                     (El<mtr[i+1,j-1]) and
                     (El<mtr[i+1,j  ]) then lMin[i,j]:=1;
                  If (El>mtr[i-1,j  ]) and
                     (El>mtr[i-1,j-1]) and
                     (El>mtr[i  ,j-1]) and
                     (El>mtr[i+1,j-1]) and
                     (El>mtr[i+1,j  ]) then lMax[i,j]:=1;
                end
              Else
                begin
                  If (El<mtr[i-1,j  ]) and   {1}
                     (El<mtr[i-1,j-1]) and   {2}
                     (El<mtr[i  ,j-1]) and   {3}
                     (El<mtr[i+1,j-1]) and   {4}
                     (El<mtr[i+1,j  ]) and   {5}
                     (El<mtr[i+1,j+1]) and   {6}
                     (El<mtr[i  ,j+1]) and   {7}
                     (El<mtr[i-1,j+1])       {8}
                     then lMin[i,j]:=1;
 
                  If (El>mtr[i-1,j  ]) and   {1}
                     (El>mtr[i-1,j-1]) and   {2}
                     (El>mtr[i  ,j-1]) and   {3}
                     (El>mtr[i+1,j-1]) and   {4}
                     (El>mtr[i+1,j  ]) and   {5}
                     (El>mtr[i+1,j+1]) and   {6}
                     (El>mtr[i  ,j+1]) and   {7}
                     (El>mtr[i-1,j+1])       {8}
                     then lMax[i,j]:=1;
 
                end;
      end;
  {ищем максимальный элемент, 
   не являющийся ни локальным максимумом, ни локальным минимумом}
  MaxEl:=-32768;
  iMax:=0; jMax:=0;
  For i:=1 to size do
    For j:=1 to size do
      If (lMax[i,j]=0) and  (lMin[i,j]=0) then
        If MaxEl<mtr[i,j] then
          begin
            MaxEl:=mtr[i,j];
            iMax:=i; jMax:=j;
          end;
{выводим результат на экран}
  For i:=1 to size do
    Begin
      For j:=1 to size do
        begin
          If lMax[i,j]=1 then TextColor(Red)    {красные - локальные максимумы}
          Else
            If lMin[i,j]=1 then TextColor(Blue)  {синие - локальные минимумы}
            Else
              If MaxEl=mtr[i,j] then TextColor(Green) {зеленый - искомый максимум}
              Else TextColor(DarkGray);
          Write(mtr[i,j]:4);
        end;
      WriteLn;
    end;
  ReadLn;
End.
1
0 / 0 / 0
Регистрация: 21.10.2012
Сообщений: 5
25.10.2012, 22:21  [ТС]
это же одномерный массив
0
539 / 399 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
26.10.2012, 09:34
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
uses crt;
const size = 10;
Var
  El, MaxEl, i : integer;
  LMax, LMin, mtr   : Array[1..size] of integer;
Begin
  ClrScr;
  Randomize;
{формируем матрицу случайным образом}
  For i:=1 to size do
      begin
        mtr[i]:=100+ random(300);
        LMax[i]:=0; LMin[i]:=0;  
      end;
{сначала найдем все локальные минимумы и максимумы}
  For i:=1 to size-1 do
      begin
        El:=mtr[i];
        If i=1 then  {первый элемент}
          begin
            If El<mtr[i] then LMin[i]:=1; {пометим локальный минимум}
            If El>mtr[i] then LMax[i]:=1; {пометим локальный максимум}
          end
          {========================}
        Else
          begin
            If (El<mtr[i-1]) and  (El<mtr[i+1]) then LMin[i]:=1; {пометим локальный минимум}
            If (El>mtr[i-1]) and  (El>mtr[i+1]) then LMax[i]:=1; {пометим локальный максимум}
          end; 
      end;
  {ищем максимальный элемент, 
   не являющийся ни локальным максимумом, ни локальным минимумом}
  MaxEl:=-32768;
  For i:=1 to size do
      If (LMax[i]=0) and  (LMin[i]=0) then
        If MaxEl<mtr[i] then
            MaxEl:=mtr[i];
{выводим результат на экран}
  For i:=1 to size do
    Begin
          If LMax[i]=1 then TextColor(Red)    {красные - локальные максимумы}
          Else
            If LMin[i]=1 then TextColor(Blue)  {синие - локальные минимумы}
            Else
              If MaxEl=mtr[i] then TextColor(Green) {зеленый - искомый максимум}
              Else TextColor(DarkGray);
          Write(mtr[i]:4);
    end;
  ReadLn;
End.
Добавлено через 10 часов 57 минут
Спешка к хорошему не приводит. Не учел граничные элементы массива
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
uses crt;
const size = 10;
Var
  El, MaxEl, i : integer;
  LMax, LMin, mtr   : Array[1..size] of integer;
Begin
  ClrScr;
{  Randomize;}
{формируем матрицу случайным образом}
  For i:=1 to size do
      begin
        mtr[i]:=100+ random(300);
        LMax[i]:=0; LMin[i]:=0;  
      end;
{сначала найдем все локальные минимумы и максимумы}
{левая граница}
  If mtr[1]<mtr[2] then LMin[1]:=1; {пометим локальный минимум}
  If mtr[1]>mtr[2] then LMax[1]:=1; {пометим локальный максимум}
  For i:=2 to size-1 do
    begin
      El:=mtr[i];
      If (El<mtr[i-1]) and  (El<mtr[i+1]) then LMin[i]:=1; {пометим локальный минимум}
      If (El>mtr[i-1]) and  (El>mtr[i+1]) then LMax[i]:=1; {пометим локальный максимум}
    end;
{правая граница}
  If mtr[size]<mtr[size-1] then LMin[size]:=1; {пометим локальный минимум}
  If mtr[size]>mtr[size-1] then LMax[size]:=1; {пометим локальный максимум}
  {ищем максимальный элемент,
   не являющийся ни локальным максимумом, ни локальным минимумом}
  MaxEl:=-32768;
  For i:=1 to size do
      If (LMax[i]=0) and  (LMin[i]=0) then
        If MaxEl<mtr[i] then
            MaxEl:=mtr[i];
{выводим результат на экран}
  For i:=1 to size do
    Begin
          If LMax[i]=1 then TextColor(Red)    {красные - локальные максимумы}
          Else
            If LMin[i]=1 then TextColor(Blue)  {синие - локальные минимумы}
            Else
              If MaxEl=mtr[i] then TextColor(Green) {зеленый - искомый максимум}
              Else TextColor(DarkGray);
          Write(mtr[i]:4);
    end;
  ReadLn;
End.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.10.2012, 09:34
Помогаю со студенческими работами здесь

Массив: Найти максимальный элемент массива, не являющихся ни локальным минимумом, ни локальным максимумом
Дан массив размера N (1&lt;N&lt;100). Количество элементов N и элементы массива вводятся с клавиатуры. Найти и вывести на экран максимальный из...

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

Найти и вывести на экран максимальный из элементов массива, не являющихся ни локальным минимумом ни локальным максимумом
Пункт 1.Дан массив размера N (1&lt;N&lt;100). Количество элементов N и элементы массива вводятся с клавиатуры. Найти и вывести на экран...

Дан вещественный массив. Сформировать новый массив, состоящий из его элементов, не являющихся локальным максимумом
(При решении задачи использовать ArrayList) Дан вещественный массив. Сформировать новый массив, состоящий из его элементов, не являющихся...

Дан массив целых чисел из 30 элементов. Найдите все локальные максимумы. (Элемент является локальным максимумом, если
Дан массив целых чисел из 30 элементов. Найдите все локальные максимумы. (Элемент является локальным максимумом, если он не имеет соседей,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru