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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2010, 18:24   #1
Gaia
Новичок
Джуниор
 
Аватар для Gaia
 
Регистрация: 11.05.2010
Сообщений: 1
По умолчанию Одномерный массив

Доброго времени суток. Не могли ли бы вы помочь пожалуйста разобраться с заданием.
Вот собственно задание.

Дана последовательность не более 20 ненулевых целых чисел,
последним числом в последовательности является 0. Ввести эту
последовательность в одномерный массив и вычислить хаpактеристики
последовательности согласно указанному варианту (использование
дополнительных массивов запрещено).

1.Определить порядковые номера тpех наименьших нечетных
элементов и их произведение.

Вот, то, что я написала.

Цитата:
program lab5;
Var n,i,k,max:integer;
l,j:byte;
a:array [1..20] of integer;
Begin
Writeln ('vvedite posled. chisel');
i:=0;
Repeat
i:=i+1;
until a[i]=0;
n:=i;
max:=a[i];
For i:=1 to n do
if a[i]>max then
max:=a[i];
k:=i;
writeln;
readln (a[i]);
end;
for j:=i+1 to n do
for l:=j+1 to n do
end;
Begin
if a[i]*a[j]*a[l]>max then
max:=a[i]*a[j]*a[l];
end;
writeln (naim.proizved=',max);
End.
Здесь безусловно есть ошибки, подскажите их.
Gaia вне форума Ответить с цитированием
Старый 18.05.2010, 15:45   #2
Don Karleone
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 410
По умолчанию

1)
Ввод последовательности:
repeat
i:=i+1;
until a[i] = 0;
а где оператор readln(a[i]);
должно быть:
i:=1;
repeat
readln(a[i]);
i:=i+1;
until a[i] = 0;

2)
Определить порядковые номера 3-х наименьших нечетных элементов.
i:=1;
flag:=false;
while not flag and (a[i] <> 0) do
begin
if odd(a[i])
then
begin
flag:=true;
Min:=i;
end;
Inc(i);
end;

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

i:=Min;
while a[i] <> 0 do
begin
Inc(i);
if (odd(a[i])) and (a[i] < a[Min]) then Min:=i;
end;
One:=Min; {индекс первого минимального нечетного элемента}

i:=1;
flag:=false;
while not flag and (a[i] <> 0) do
begin
if odd(a[i]) and (i <> One)
then
begin
flag:=true;
Min:=i;
end;
Inc(i);
end;
i:=Min;
while a[i] <> 0 do
begin
Inc(i);
if (odd(a[i])) and (a[i] < a[Min]) and (i <> One) then Min:=i;
end;
Two:=Min; {индекс второго минимального нечетного элемента}

i:=1;
flag:=false;
while not flag and (a[i] <> 0) do
begin
if odd(a[i]) and (i <> One) and (i <> Two)
then
begin
flag:=true;
Min:=i;
end;
Inc(i);
end;
i:=Min;
while a[i] <> 0 do
begin
Inc(i);
if (odd(a[i])) and (a[i] < a[Min]) and (i <> One) and (i<>Two) then Min:=i;
end;
Tree:=Min; {индекс третьего минимального нечетного элемента}

Вроде должно быть так
Произведение этих элементов найдешь сам.
ICQ: 593-013-807
Don Karleone вне форума Ответить с цитированием
Старый 18.05.2010, 15:56   #3
Ol'ga_new
Форумчанин
 
Регистрация: 12.05.2010
Сообщений: 125
По умолчанию

А ещё при вводе последовательности условием выхода из цикла должно являться раванство количества элиментов 20(по условию задачи), кроме равенства 0 самих элиментов.
Ol'ga_new вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив C++ blondino4ka_milk Общие вопросы C/C++ 18 05.04.2010 22:48
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Одномерный массив Nataly1992 Помощь студентам 7 20.12.2009 16:26
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
одномерный массив paladinn Помощь студентам 1 05.06.2009 19:28