Помощь - Поиск - Пользователи - Календарь
Полная версия: Номер последнего нечётного члена последовательност
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Giv
Люди! Помогите!
Задание звучит так:
Даны натуральные число n? целые числа а1, ...an. Необходимо найти номер последнего  нечётного члена последовательности.
Help me, please!
fms
так может.

Код
for i:=1 to n do
begin
if a[i]mod2<>0 then
nech:=i; {номер последнего нечетного.}
end;
trminator
Лучше идти не с начала (так ты просматриваешь весь массив), а с конца. Да и короче получается - всего одна строчка :D
Код

i:=n; while not odd(A[i]) do dec(i);
fms
тоже верно..)
Giv
Всем спасибо, я тут вчера вечерком покумекал. И вот что я высидел!

Код
Program Nomer;
uses crt;
var
r:array[1..100] of integer;
x,n,i,nom:Integer;
begin
clrscr;
nom:=0;
writeln('Введите размерность массива');
read(n);
writeln('Введите элементы из ',n, ' чисел');
for i:=1 to n do
Read(r[i]);
writeln('Исходный массив:');
for i:=1 to n do
write(r[i]:4);
writeln;
for i:=1 to n do
begin
nom:=nom+1;
if (r[i]mod 2)<>0 then x:=nom;
end;
writeln('Номер последнего нечётного члена последовательности ->',x);
readln;
readln;
end.


Ваше мнение?
Giv
дааа, всё гениальное просто. Действительно что-то я там понаворачивал, хотя можно сделать всё это гораздо проще. Сэнкью!
Вот только не понимаю  пример, который написал trminator. Объясните пожалуйста что делает "odd(A[i]) do dec(i)"  
fms
молодец.. что сам! smile.gif
только слишком уж удлиненный вариант. задача не сложная, а наворотов в ней ты сделал слишком много.. :smile.gif

Код
writeln('Исходный массив:');
for i:=1 to n do
write(r[i]:4);
writeln;


а это зачем?! smile.gif если ты его вводишь, то зачем сразу же выводить?!

nom:=nom+1;
и в этом случае можно ведь не суммировать номер. а просто присваивать значению i и только в том случае, если число нечетное. а так получается лишняя операция.)

всего хорошего. :D
fms
odd пмоему определяет четность/нечетность. smile.gif главное что работает..)

___
хотя может и нет.)
Giv
я уже поменял nom:=nom+1 на x:=i. Ты прав! А что касается вывода массива, так это так... для наглядности, мало ли может какой-то пипл при пользовании прогой будет вводить элементы в строку, а я вывожу как положено (дл наглядности), хотя это конечно же и  совсем даже необязательно  ;)
fms
Giv, угу.. все так.. только я она.. smile.gif
trminator
Цитата
Вот только не понимаю  пример, который написал trminator.

Не получается мне это объяснить (пишу третий раз, перечитываю, понимаю, что не совсем понятно). Постучи в асю, там расскажу.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.