Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2011, 15:20   #1
katya111
Новичок
Джуниор
 
Регистрация: 18.05.2011
Сообщений: 12
По умолчанию программа находит наибольшее чётное число в данном одномерном массиве целых чисел

как вывести наибольшее чётное число в одномерном масстве целых чисел?
эта программа выводит только наибольшее число
program pr1;
var
n,m,i:integer;
A:array[1..20] of integer;
begin
writeln('Введите количество элементов');
readln(n);
for i:=1 to n do
begin
A[i]:=RANDOM(101)-50;
write(A[i]:4);
if A[i] mod 2=0 then m:=m+1
end;
writeln('Исходный:');
for i:=1 to n do
begin
write(A[i]:7);
end;
m:=A[1];
for i:=1 to n do
begin
if A[i]>m then m:=A[i];
end;
writeln;
writeln('Наибольшее чётное число массива:', m);

end.
katya111 вне форума Ответить с цитированием
Старый 18.05.2011, 15:22   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Код:
if A[i]>m then m:=A[i];
Заменить на
Код:
if (A[i]>m) and (A[i] mod 2 = 0) then m:=A[i];
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 18.05.2011, 15:26   #3
katya111
Новичок
Джуниор
 
Регистрация: 18.05.2011
Сообщений: 12
По умолчанию

всё равно через раз выводит нечётное число
katya111 вне форума Ответить с цитированием
Старый 18.05.2011, 15:30   #4
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Вероятно, потому что 1й элемент массива максимален и нечетен.

Попробуйте
Код:
m:=A[1];
заменить на
Код:
m:=-900000;
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 18.05.2011, 15:35   #5
katya111
Новичок
Джуниор
 
Регистрация: 18.05.2011
Сообщений: 12
По умолчанию

спасибо !
katya111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа, которая находит в массиве значения, повторяющиеся два и более раз yugik Общие вопросы C/C++ 6 08.03.2013 18:14
Нужна программа, которая находит в одномерном массиве минимальное и максимальное значение Didar Паскаль, Turbo Pascal, PascalABC.NET 9 08.02.2011 15:14
Составить программу которая находит индекс числа в массиве случайных чисел MadNikys Помощь студентам 9 03.03.2010 20:52
программа считывающая пять целых чисел и определяющая, печатающая наибольшее и наименьшее число из них Syber Общие вопросы C/C++ 3 30.06.2008 22:39
Из двух натуральных чисел, составить наибольшее число, сохраняя первоначальную последовательность.Паскаль Omedus Помощь студентам 8 19.11.2007 22:02