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

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

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

> Номер последнего нечётного члена последовательност
Giv
сообщение 25.11.2003 6:21
Сообщение #1





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

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


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


Бывалый
***

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

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


так может.

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


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


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


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

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

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


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

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


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


Бывалый
***

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

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


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


--------------------
непонимающая..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Giv
сообщение 26.11.2003 8:20
Сообщение #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 - 17.12.2004 16:06
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Giv
сообщение 26.11.2003 9:20
Сообщение #6





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

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


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


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


Бывалый
***

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

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


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

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


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





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

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


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


Бывалый
***

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

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


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


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


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

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

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


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

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


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

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

 



- Текстовая версия 23.06.2025 21:39
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"