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

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

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

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> задача на поиск среди чисел первого положительного, (с помощью цикла)
сообщение
Сообщение #21


Пионер
**

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

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


она проверяет является ли число суммой двух предыдущих, я надеюсь, что автор этой темы догадаетьси как это исправить в сумму трех предыдущих.


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


а по-моему, она проверяет не совсем то....
ты же проходишь от начала массива, то есть речь не обязательно о последних 2.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


18192123, Сколько можно мусолить этот маразм ?! Функция, которая ищет нужный по твоему заданию элемент, если такого элемента нет, ф-я возвращает - 1.

function Find(const v: PVector; n: Integer): Integer;
var
s, i, j: Integer;
flag: Boolean;
begin
i := 4;
flag := false;
while (i <= n) and not(flag) do begin
if v^[i] > 0 then begin
j := i - 3;
s := 0;
while (j < i) and (s <= v^[i]) do begin
s := s + v^[j];
inc(j);
end;
flag := (s = v^[i]);
end;
if not(flag) then inc(i);
end;
if flag then Find := i else Find := - 1;
end;


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

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


Цитата(klem4 @ 24.10.2006 20:01)
18192123, Сколько можно мусолить этот маразм ?! Функция, которая ищет нужный по твоему заданию элемент, если такого элемента нет, ф-я возвращает - 1.

мне такой способ не подходит!
в этом задании мне нельзя использовать массивы, в основе решения должен лежать цикл.
наверняка, в этом задании все гораздо проще.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


uses crt;

var
x, x1, x2, x3, s : Integer;
count: Integer;
find: Boolean;

begin
clrscr;
count := 0;
find := false;
repeat
write('x = '); readln(x);
inc(count);
case count of
1: x1 := x;
2: x2 := x;
3: x3 := x;
else
if (x > 0) and (x1 + x2 + x3 = x) then find := true
else begin
x1 := x2;
x2 := x3;
x3 := x;
end;
end;
until (x = 0) or (find);

if find then writeln('Find')
else writeln('Not find');

readln;
end.


?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #26


Профи
****

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

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


klem4, "Найти первый положительный член", раз первый, значит могли бы быть и другие, значит прерывать ввод по find не надо. 0 тоже положительное число.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #27


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Malice, а как же быть с
Цитата
пользователь вводит последовательнось целых чисел, признак окончания ввода - 0.


?

Если делать выход по find, может возникнуть зацикленность, так как искомого числа до того как введен 0 может просто не быть ...

Если уточнить условие так что среди введенных чисел _точно_ есть искомое, то это меняет дело.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #28


Профи
****

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

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


Цитата(klem4 @ 25.10.2006 12:41) *

Если делать выход по find, может возникнуть зацикленность, так как искомого числа до того как введен 0 может просто не быть ...

А ты говоришь "Маразм". smile.gif По find выходите _не надо_, об этом я и написал.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #29


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Все, понял smile.gif

uses crt;
var
x, x1, x2, x3, s : Integer;
count: Integer;
find: Integer;

begin
clrscr;
count := 0;
find := -maxint;
repeat
write('x = '); readln(x);
inc(count);
case count of
1: x1 := x;
2: x2 := x;
3: x3 := x;
else
if (x > 0) and (x1 + x2 + x3 = x) and (find = -maxint) then find := x
else begin
x1 := x2;
x2 := x3;
x3 := x;
end;
end;
until (x = 0);

if find <> -maxint then writeln('Find = ', Find)
else writeln('Not find');

readln;
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #30


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

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


Цитата(klem4 @ 25.10.2006 13:43)
Все, понял smile.gif

скажи пожалуйста, что такое find := -maxint в твоей программе
и что такое count?

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


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


0 - это не положительное число! и не отрицательное.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #32


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

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


Цитата(мисс_граффити @ 25.10.2006 22:32) *

0 - это не положительное число! и не отрицательное.

может ты мне объяснишь, что такое в последней проге klem4 count, find:=-maxint
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #33


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


find:=-maxint
это мы присваиваем самое маленькое возможное значение. если find равен такой бяке, значит, подходящее число мы еще не нашли.

count - количество введенных чисел. если оно меньше 3, мы просто записываем новое число в подходящую переменную, а если больше - сдвигаем имеющиеся и в последнюю записываем.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #34


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

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


Цитата(мисс_граффити @ 25.10.2006 22:55) *

find:=-maxint
это мы присваиваем самое маленькое возможное значение. если find равен такой бяке, значит, подходящее число мы еще не нашли.

count - количество введенных чисел. если оно меньше 3, мы просто записываем новое число в подходящую переменную, а если больше - сдвигаем имеющиеся и в последнюю записываем.

большое спасибо, что объяснила, теперь с заданием все ясно!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #35


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


пожалуйста.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #36


Пионер
**

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

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


а... извините, неправильно поняла задачу я думал трех чисел, которые до этого числа встречались в массиве.


--------------------
Нам не дано предугадать как наше слово отзовется...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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