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

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

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


Знаток
****

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

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


Подскажите пожалуйста, как реализовать функцию, возвращающую числа Фибоначчи (с применением статических переменных),то есть при первом вызове возвращается первое число Фибоначчи, при втором вызове - второе, и т.д.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Прогрессор
****

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

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


Язык программирования какой?

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


Знаток
****

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

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


Цитата(Atos @ 21.10.2007 15:06) *

Язык программирования какой?

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


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

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

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


что-то вроде этого:

# include <conio.h>
# include <stdio.h>

int foo () {
static int value_count;

if (value_count++ < 1)
return 1;
else {

int current_value = 0, pred_value = 1;;

for (int i = 1; i <= value_count; i++) {

int T = current_value;

current_value += pred_value;
pred_value = T;

}

return current_value;
}
}
int main(void) {
clrscr();

for (int i = 0; i < 12; i++)
printf("\nfoo() = %d", foo());

getch();
return 0;
}


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


Гость






Андрей, проще никак? smile.gif

#include <stdio.h>
#include <stdlib.h>

int fib() {
static int first = 0, second = 1;
int T = first + second;
return first = second, second = T;
}

int main()
{
int i;
for(i = 1; i < 10; ++i) {
printf("%4d", fib());
}
return 0;
}
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Знаток
****

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

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


Спасибо за помощь good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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