Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
3 / 1 / 2
Регистрация: 04.05.2019
Сообщений: 94

Нахождение максимального элемента массива

08.05.2019, 19:04. Показов 1484. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Нужно найти макс число в массиве
Pascal
1
2
3
4
5
6
7
8
9
10
program z1;
// тут должен быть массив
begin
writeln('Введите 5 чисел');
read(); // тут должно записать в массив эти числа
{
тут код который находт макс число в массиве
}
wtite('Макс число:', {тут макс число});
end.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.05.2019, 19:04
Ответы с готовыми решениями:

Нахождение максимального элемента массива
Задача:Найти в массивах Х и Y максимальные элементы и их порядковые номера Х, Y1..8] Код в паскаль:uses crt; var arr:array of...

Нахождение элемента массива, который меньше максимального но больше других
var j,i,c:byte; a:array of integer; procedure mass(i,j:byte; var c,max:byte); begin max:=1; for i:=1 to 10 do if a>max...

Вставить после максимального элемента массива значение минимального элемента
2. Дан массив А размером N.Вставить после максимального элемента значение минимального элемента.

8
6 / 3 / 3
Регистрация: 25.06.2018
Сообщений: 24
08.05.2019, 19:29
Лучший ответ Сообщение было отмечено HelpMePlease_12 как решение

Решение

В NET Framework есть метод Max, который находит максимальный элемент массива:

Pascal
1
2
3
4
5
6
7
8
9
10
11
program z1;
var a : array [1..5] of integer;
var b : integer;
begin
writeln('Введите 5 чисел через Enter');
for var i := 1 to 5 do begin
read(b);
a[i]:= b;
end; 
write('Макс число: ', a.Max);
end.
Добавлено через 7 минут
Но можно обойтись и стандартными средствами:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program z1;
var a : array [1..5] of integer;
var b, m : integer;
begin
writeln('Введите 5 чисел через Enter');
for var i := 1 to 5 do begin
read(b);
a[i]:= b;
end; 
 
m:= a[1];
for var i := 2 to 5 do begin
if a[i] > m then begin m:= a[i]; end;
end; 
 
write('Макс число: ', m);
end.
1
3 / 1 / 2
Регистрация: 04.05.2019
Сообщений: 94
08.05.2019, 19:34  [ТС]
Anaglyph, если не сложно, то можете второй код расписать, что за что отвечает
0
6 / 3 / 3
Регистрация: 25.06.2018
Сообщений: 24
08.05.2019, 19:51
Переменная a - массив, в котором собственно и хранятся числа, которые нужно сравнить. Переменная m будет хранить в себе выявленное максимальное число. Так как заполнять массив с клавиатуры в Паскале написав просто read(a) нельзя, то это приходится делать в цикле для каждого элемента массива в отдельности (строки с 6 по 9). Цикл начался, ввели переменную b, элемент массива a[i] присваиваем значение b и так 5 раз. Потом в переменную m мы загоняем первое число из массива a[1], пологая, что оно максимально (строка 11). Далее в цикле (строки 12-14) мы каждый оставшийся элемент массива (со 2-го по 5-й) проверяем с переменной m, которая на момент начала цикла равна первому элементу массива. Если проверяемый элемент массива меньше m - то цикл идет дальше, сравнивая последующие элементы массива с m. Если же больше, то переменной m присваивается значение элемента массива. И так до конца элементов массива. В итоге, получается, что в переменной m, будет содержаться максимальный элемент массива.
1
3 / 1 / 2
Регистрация: 04.05.2019
Сообщений: 94
08.05.2019, 20:15  [ТС]
Anaglyph, такой вопрос, как сделать что то такое: если в а содержится 1 то .....
0
6 / 3 / 3
Регистрация: 25.06.2018
Сообщений: 24
08.05.2019, 20:21
Pascal
1
2
3
for var i := 1 to 5 do begin
if a[i] = 1 then begin writeln('В массиве a элемент под номером ', i, ' равен 1') end;
end;
0
3 / 1 / 2
Регистрация: 04.05.2019
Сообщений: 94
08.05.2019, 20:36  [ТС]
Anaglyph, вы меня не поняли, нужно сделать проверку, например если в массивее а СОДЕРЖИТСЯ 1 то ....

пример:
Pascal
1
if a[i] содержится 1 then
0
6 / 3 / 3
Регистрация: 25.06.2018
Сообщений: 24
08.05.2019, 21:05
Так я и ответил. Если хоть в одном элементе массива содержится число 1, то выполнится код, заключенный между then begin и end; Если же ни в одном элементе массива числа 1 нету, то ничего не выполнится. Если же после выполнения программы вам необходим ответ, есть ли число 1 хоть в одном элементе, то прогу можно написать так:

Pascal
1
2
3
4
var flag : boolean = false;
for var i := 1 to 5 do begin
if a[i] = 1 then begin flag:= true; end;
end;
Если по окончанию цикла переменная flag будет равна false, то в массиве нету числа 1. Если flag будет равен true, то будет.
0
 Аватар для Sun Serega
2355 / 1458 / 526
Регистрация: 07.04.2017
Сообщений: 4,798
08.05.2019, 22:28
Цитата Сообщение от Anaglyph Посмотреть сообщение
NET Framework есть метод Max
Вот только вы его не использовали, ибо статичные массивы в PABC.Net это велосипед из костылей.

Если использовать стандартные методы то так:
Pascal
1
2
3
4
begin
  ReadArrInteger(5)
  .Max.Println;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.05.2019, 22:28
Помогаю со студенческими работами здесь

Поиск максимального элемента массива
Задание: сгенерировать одномерный массив, состоящий из элементов двумерного массива А, причем: 1. если в столбце j присутствует хоть один...

Определить индексы минимального и максимального элемента массива
Создать массив с элементами a kn=n f (k) + sin(k) g(n) где k,n=1,2,3,4; f(k) = 12.4sin*abs(k/2,1)-8.3cos1,2k ...

Создание массива из максимального элемента в столбце матрицы
В каждом столбце заданной матрицы D размером 9х10 найти позицию максимального значения и сформировать из них одномерный массив. const ...

Вывести порядковый номер максимального и минимального элемента массива
Вывести порядковый номер min и max номера массива

Необходимо создать функции поиска максимального элемента массива
program user; const Z=11; function max(a:array of integer):integer; var j, m:integer; begin m:=a; for j:=1 to high(a) do begin ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru