powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Обработка массива в Паскаль
5 сообщений из 5, страница 1 из 1
Обработка массива в Паскаль
    #38285791
alexander4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Дано задание: Дана последовательность целых чисел, за которой следует ноль. Определить какой из элементов максимальный или минимальный встречается в ней раньше.
Чтобы вычислить, какой из элементов, максимальный или минимальный, встречается раньше, записал позиции максимального и минимального элемента в массиве в соответствующие переменные и затем уже произвожу сравнение этих позиций. С максимальным элементом все нормально, а вот значение минимального почему то всегда равно нулю, хотя такого элемента даже нет в массиве.
Не подскажете, в чем ошибка?
program L_2_Z_2;
var mas : array[1..100] of integer;
i, max, min, b, c : integer;
begin
randomize;
for i := 1 to 20 do
begin
mas[i] := 1 + random(98);
write(mas[i], ' ,');
end;
begin
max := mas[1];
for i := 1 to 100 do
if max < mas[i] then begin
max := mas[i]; b:= i;
end;
end;
begin
min := mas[1];
for i := 1 to 100 do
if min > mas[i] then begin
min := mas[i]; c := i;
end;
end;
writeln(' ', 'Max = ', max, ' ','Min = ', min);
if b < c then
writeln('Znachenie Max ', max, ' vstretilos ranshe.')
else
writeln('Znachenie Min ', min, ' vstretilos ranshe.');
readln;
end.
...
Рейтинг: 0 / 0
Обработка массива в Паскаль
    #38285797
alexander4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вывел значение позиции минимального элемента массива (выдает ноль). Оно всегда равно 21, хотя всего массив состоит из 20 элементов. Получается, что при поиске минимального элемента процесс выходит за рамки заданного массива. Не подскажете, как сделать так, чтобы поиск минимального элемента происходил в пределах заданного массива?
...
Рейтинг: 0 / 0
Обработка массива в Паскаль
    #38285816
alexander4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, нашел ошибку. При поиске минимума и максимума нужно было ограничиться значениями от 1 до 20, а не до 100.
Код: sql
1.
2.
min := mas[1];
        for i := 1 to 20 do
...
Рейтинг: 0 / 0
Обработка массива в Паскаль
    #38285834
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander4321,

Сорри. Обычно таких вещей не говорю, но щас реально улыбнуло. При чём тут рандомайз и рандом?
Алгоритм:
1. Читаем число
2. Больше максимального - сохраняем как максимальное
3. Меньше минимального - сохраняем как минимальное
4. Не ноль - идём на команду 1 (цикл)

Всё просто :)
...
Рейтинг: 0 / 0
Обработка массива в Паскаль
    #38285841
alexander4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Обработка массива в Паскаль
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]