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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2008, 22:44   #11
Walter
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 43
По умолчанию

Вообщем, как я немного понял, что надо найти тут в программе. А надо найти следующее, нужен код, который бует определять последовательность чисел Фибоначчи, из любой последовательности чисел, т.е. допустим есть у нас листбокс, туда вводиться какая та последователность чисел, проверяеться есть ли в них числа изпоследовательности Фибоначчи, и выводиться в другой листбокс
Walter вне форума Ответить с цитированием
Старый 10.12.2008, 23:33   #12
Walter
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 43
По умолчанию

Вот есть небольшой кусок, но главный моего кода, т.к. если это бует прально, то и везде смогу его потом переписать, ток вот загвоздка, выдаёт ошибку в счётчике, кто разбераеться, подправте плиз
Код:
var count,i,A:integer;
  S:string;
  function fib(n: integer): integer;
begin
count:=0;
for i:=1 to ListBox1.Items.Count-1 do
  begin
     A:=StrToInt(ListBox1.Items[i]);
     if n in [1..2] then fib:=1
                 else fib:=fib(n-1)+fib(n-2);
        ListBox2.Items.Add(IntToStr(A))
end;
end;

end.
Walter вне форума Ответить с цитированием
Старый 11.12.2008, 12:20   #13
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Если тебе просто нужна функция для проверки является ли данное число числом Фибонначи, то это можно проверить так.
Код:
function FibYes(n:integer):boolean;
var z,k:integer;
begin
z:=1;k:=0;
while z<n do
  begin
    z:=z+k;k:=z-k;
   if (z=n) then FibYes:=true
   else  FibYes:=false;
  end;
end;
puporev вне форума Ответить с цитированием
Старый 12.12.2008, 16:26   #14
Walter
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 43
По умолчанию

А этот код можно использовать, и для ListBOx и StringGrid, т.к. мне надо при помощи этих элементов выводить и вводить последовательность
Walter вне форума Ответить с цитированием
Старый 12.12.2008, 17:38   #15
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Да хоть где. Есть послндовательность чисел. Нужно из нее выбрать числа Фибонначи, мы их выбираем как например четные или нечетные, какая разница.
for i:=1 to n do
if FibYes(a[i]) then туда его, если нет, то туда.
puporev вне форума Ответить с цитированием
Старый 12.12.2008, 23:03   #16
Walter
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 43
По умолчанию

А ну понятно теперь... слух ток вот вопрос, может выйти боком мне эта функция FibYes, т.к. я уже похожую использовал, тока там была function fib(n:integer)integer; эт я так понимаю должна для строк подойти да? т.к. ни масивы, ни дополнительные функции не брались
Walter вне форума Ответить с цитированием
Старый 12.12.2008, 23:48   #17
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

(а ведь верно слово — фига!)

NumNext := NumNext + NumPred;
означает
"следующее делаем равным сумме ДВУХ предыдущих"
(а точка с запятой — "идём дальше")

И вообще: ограничивать программиста языком — садизм!
Sasha_Smirnov вне форума Ответить с цитированием
Старый 13.12.2008, 22:34   #18
Walter
Пользователь
 
Регистрация: 03.11.2008
Сообщений: 43
По умолчанию

Всё эт не плохо, но мне надо только с простыми строками и без доп. функций, а также без массивов, вот что я намудрил, походу в правильном направлении, но где то застопорился...
Код:
procedure TForm1.Button2Click(Sender: TObject);
const N=10;
var N1,N2,i:integer;
  count:integer;
begin
N1:=1;
N2:=1;
 for i:=0 to listbox1.Items.count-1 do
  begin
    N:=StrToInt(listbox1.items[i]);
      for i:=1 to N do
        N:=N1+N2;
          N2:=N2+N1;
          N1:=N;
        if Items[i]=N then
          listbox2.Items.add(inttostr(N)));

end;
end;
end.
Walter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последовательность Фибоначчи Natasha AA Общие вопросы Delphi 2 23.09.2008 23:18
помогите с алгоритмом Фибоначчи kardan Помощь студентам 8 01.04.2008 20:22
расчет числа фибоначчи tro Паскаль, Turbo Pascal, PascalABC.NET 6 05.12.2007 11:52
Числа Фибоначчи sher_man Помощь студентам 9 20.10.2007 18:45