IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Номер последнего нечётного члена последовательност
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5

Репутация: -  0  +


Люди! Помогите!
Задание звучит так:
Даны натуральные число n? целые числа а1, ...an. Необходимо найти номер последнего  нечётного члена последовательности.
Help me, please!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Женский

Репутация: -  0  +


так может.

Код
for i:=1 to n do
begin
if a[i]mod2<>0 then
nech:=i; {номер последнего нечетного.}
end;


Сообщение отредактировано: volvo -


--------------------
непонимающая..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


Лучше идти не с начала (так ты просматриваешь весь массив), а с конца. Да и короче получается - всего одна строчка :D
Код

i:=n; while not odd(A[i]) do dec(i);


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Женский

Репутация: -  0  +


тоже верно..)


--------------------
непонимающая..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 5

Репутация: -  0  +


Всем спасибо, я тут вчера вечерком покумекал. И вот что я высидел!

Код
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.


Ваше мнение?

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 5

Репутация: -  0  +


дааа, всё гениальное просто. Действительно что-то я там понаворачивал, хотя можно сделать всё это гораздо проще. Сэнкью!
Вот только не понимаю  пример, который написал trminator. Объясните пожалуйста что делает "odd(A[i]) do dec(i)"  
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Женский

Репутация: -  0  +


молодец.. что сам! smile.gif
только слишком уж удлиненный вариант. задача не сложная, а наворотов в ней ты сделал слишком много.. :smile.gif

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


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

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

всего хорошего. :D

Сообщение отредактировано: volvo -


--------------------
непонимающая..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Женский

Репутация: -  0  +


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

___
хотя может и нет.)


--------------------
непонимающая..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





Группа: Пользователи
Сообщений: 5

Репутация: -  0  +


я уже поменял nom:=nom+1 на x:=i. Ты прав! А что касается вывода массива, так это так... для наглядности, мало ли может какой-то пипл при пользовании прогой будет вводить элементы в строку, а я вывожу как положено (дл наглядности), хотя это конечно же и  совсем даже необязательно  ;)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Женский

Репутация: -  0  +


Giv, угу.. все так.. только я она.. smile.gif


--------------------
непонимающая..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Четыре квадратика
****

Группа: Пользователи
Сообщений: 579
Пол: Мужской

Репутация: -  4  +


Цитата
Вот только не понимаю  пример, который написал trminator.

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


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 4:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name