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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2012, 23:25   #1
elis_kefir
Новичок
Джуниор
 
Регистрация: 25.02.2012
Сообщений: 3
Вопрос задача по массивам.

Задан целочисленный массив a из n элементов. Найти значение максимального элемента среди четных (по значению) элементов, расположенных до первого нечетного элемента.

Код:
program var 8;
var a: array [1...100} of integer;
p1: boolean;
p2: boolean;
i,n: integer;
begin
writeln ('vvedite razmernost massiva');
readln (n);
writeln ('vvedite',n,'elementov massiva');
for i:=1 to n do
readln (a[i]);
p1:=false;
for i:=1 to n do
if (a[i] mod 2 = 0) then
p1:=true;
p2:=false;
for i:=1 to n do
if (a[i] mod 2 = 1) then
p2:=true;
А как дальше не знаю. Может и в этих строчках надо что-то исправить или добавить. Вообщем помогите пожалуйста)


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.02.2012 в 23:38.
elis_kefir вне форума Ответить с цитированием
Старый 26.02.2012, 01:00   #2
Leo08
Delphi master
Пользователь
 
Аватар для Leo08
 
Регистрация: 28.05.2011
Сообщений: 96
По умолчанию

Массив здесь - не самая лучшая идея, можно считывать до первого отрицательного элемента, но всё же...

Испраил у вас ошибки:
1) Имя программы содержит пробелы;
2) Размерность массива указана ТРОЕТОЧИЕМ, а не двоеточием
3) Закрывается размерность КРУГЛОЙ скобкой

Код:
program Project2;
var a: array [1..100] of integer;
p2: boolean;
i,j,max,n: integer;
ne,de:boolean;
begin
writeln ('vvedite razmernost massiva');
readln(n);
writeln ('vvedite ',n,' elementov massiva');
max:=-1;
for i:=1 to n do
readln (a[i]);
for i:=1 to n do
if (a[i] mod 2 = 1) then
begin
ne:=true;
break;
end;
if ne=true then
begin
for j:=1 to i do
if (a[j] mod 2 = 0) then
begin
max:=a[j];
de:=true;
break;
end;
if de=true then
begin
for j:=1 to i do
if (a[j] mod 2=0) then
if a[j]>max then
max:=a[j];
WriteLn('Max = ',max);
end
else
WriteLn('Net 4etnogo 4isla');
end
else
WriteLn('Net ne4etnogo 4isla');
ReadLn(a[i]);
end.
БЯЯЯГГАААААА
Leo08 вне форума Ответить с цитированием
Старый 26.02.2012, 10:53   #3
elis_kefir
Новичок
Джуниор
 
Регистрация: 25.02.2012
Сообщений: 3
По умолчанию

огромное спасибо)
elis_kefir вне форума Ответить с цитированием
Старый 26.02.2012, 13:03   #4
elis_kefir
Новичок
Джуниор
 
Регистрация: 25.02.2012
Сообщений: 3
По умолчанию

да и ещё, вы не могли бы мне объяснить что означает "break;" а то я совсем новичок
elis_kefir вне форума Ответить с цитированием
Старый 26.02.2012, 14:16   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

наводи "курсор" на Break и жмете Ctrl + F1 и в справке читаете. А так прерывает цикл.
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача по массивам. D1zz1 Паскаль, Turbo Pascal, PascalABC.NET 6 07.06.2011 23:47
задача по массивам! Анна22 Паскаль, Turbo Pascal, PascalABC.NET 1 07.12.2010 00:12
задача по массивам) Dianko Помощь студентам 3 18.12.2009 22:25