Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите сделать простую прогу с фибоначчи! 
V
    Опции темы
pljuwevij
Дата 24.9.2008, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



Цитата(IKM2007 @ 24.9.2008,  18:59)
IKM2007

О! Все как надо! Спасибо!
PM MAIL   Вверх
mes
Дата 24.9.2008, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(pljuwevij @  24.9.2008,  18:24 Найти цитируемый пост)
программа выдавала значение = 1 , я вставил цикл с if и else (см. с  14 по 18 пункт) ,но программа все равно выдает чило 2088810051 ,а не значение  = 1.  

В приведенном коде  строчка 23 выполнится в любом случае, и при значения n меньше 2 выдаст неинициализированное значение переменной z.  




--------------------
PM MAIL WWW   Вверх
pljuwevij
Дата 24.9.2008, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



Блин, еще одна загвоздка...
Нужно вставить цикл
 
Код

do
{
cout << " Vai juus gribat ievadit vel skaitli?  y/n \n";
cin >> ok;
}
while (ok == 'y'||ok == 'Y');


в этот код так, чтобы после каждого действия была возможность повторить действие путем (y/n)


Код

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
int f1,f2,n,z  ;
double t,r;
char ok;
cout << " Ludzu ievadiet skaitli :\n";
cin >> n;
f1=1;
f2=1;

if (n<1)
{
cout << " Kluuda! - Nepiemerots fibonacci skaitlis!  \n";
system ("pause");
return 0;
}
else if (n ==1 || n==2)
{
cout << "Fibonacci skaitlis ir :  " << f1<<endl;
system ("pause");
return 0;
}
for(r=2;r!=n;r++)
{z=f1+f2;
t=r/2;
 if ((int)t==r/2) f2=z; else f1=z;}
cout<<"Fibonacci skaitlis ir : "<<z<<endl;
system("pause");
return 0;
}




PM MAIL   Вверх
IKM2007
Дата 24.9.2008, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зима близко
**


Профиль
Группа: Участник
Сообщений: 702
Регистрация: 26.4.2008
Где: olmedreca

Репутация: 3
Всего: 40



pljuwevij, обьязательно do{}while - ом? По-моему goto проще, так как в трех местах return.
Код

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
int f1,f2,n,z  ;
double t,r;
char ok;
x1:                                                      //x1
cout << " Ludzu ievadiet skaitli :\n";
cin >> n;
f1=1;
f2=1;

if (n<1)
{
cout << " Kluuda! - Nepiemerots fibonacci skaitlis!  \n";
goto x2;                                                    //goto x2;
}
else if (n ==1 || n==2)
{
cout << "Fibonacci skaitlis ir :  " << f1<<endl;
goto x2;                                                    //goto x2;
}
for(r=2;r!=n;r++)
{z=f1+f2;
t=r/2;
 if ((int)t==r/2) f2=z; else f1=z;}
cout<<"Fibonacci skaitlis ir : "<<z<<endl;
x2:                                          //x2
cout<<"Again?\n";
cin>>ok;
if(ok=='Y'||ok=='y')
goto x1;                                                    //goto x1;
system("pause");
return 0;
}




--------------------
"К чёрту обстоятельства, я создаю возможности."
Брюс Ли
PM MAIL Skype   Вверх
mes
Дата 24.9.2008, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



А почему ты не хочешь выделить участок кода как функцию ??
тогда код будет таким :

Код

int fib (int n) {...}

int main()
{

do
{   
      cout << " Ludzu ievadiet skaitli :\n";
      cin >> n;
 
      if (n<1) cout << " Kluuda! - Nepiemerots fibonacci skaitlis!  \n";
      else cout << "Fibonacci skaitlis ir :  " << fib (n) <<endl;

      cout << " Vai juus gribat ievadit vel skaitli?  y/n \n";
      cin >> ok;

} while (ok == 'y'||ok == 'Y');

system ("pause");
return 0;
}



Это сообщение отредактировал(а) mes - 24.9.2008, 20:45


--------------------
PM MAIL WWW   Вверх
pljuwevij
Дата 24.9.2008, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



Цитата(mes @ 24.9.2008,  20:45)
Mes : А почему ты не хочешь выделить участок кода как функцию ??
тогда код будет таким?

Ну с рекурсивной функцией у меня есть ,мне нужен был другой способ.
PM MAIL   Вверх
pljuwevij
  Дата 24.9.2008, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



Спасибо! Всё сделал ,всё работает.

PM MAIL   Вверх
mes
Дата 24.9.2008, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(pljuwevij @  24.9.2008,  22:06 Найти цитируемый пост)

Ну с рекурсивной функцией у меня есть ,мне нужен был другой способ. 

так функцию не обязательно делать рекурсивной )  свой же участок кода по расчету значения просто обрамляешь как функцию.
Поэтому многоточия и поставил в реализации функции )

Добавлено @ 22:52
 smile 
Цитата

Vai juus gribat ievadit vel skaitli?

А что это за язык ?


P.S. спросив у интернета,  пришел к выводу что латвийский .

Это сообщение отредактировал(а) mes - 24.9.2008, 23:31


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.