Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Написать программу

32K
28 декабря 2007 года
Ci_novice
6 / / 23.12.2007
Здравствуйте!
Есть готовый текст программы:
Код:
#include <iostream.h>
long fib (int n)
{
if ((n == 0) || (n ==1))
return 1;
else
return (fib (n-1) + fib (n-2));
}
void main()
{
int n = 0;
for ( ; n <= 20; n++)
cout<<" "<<fib(n);
}


Я не могу разобраться с некоторыми строками. Понятно что последовательность чисел Фибоначчи выражается через F(n-1)+F(n-2). Что означает в этой программе - RETURN, почему со значением 1 (не TRUE ли это и зачем оно здесь)? Можно ли заменить его на другую команду, например через for? Также в 3-ей строке: if ((n == 0) || (n ==1)) Для чего ставится такое условие? И для чего написана функция void? Ведь она не возвращает значение, а main () можно было написать и в начале программы...?

[COLOR="Red"]Читать Правила раздела Студентам и придерживаться их.Оформлять код как полагается.Давать темам осмысленные названия. [/COLOR]
модератор.
32K
28 декабря 2007 года
Ci_novice
6 / / 23.12.2007
Здравствуйте!
Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел и выводит количество ненулевых элементов. Перед вводом каждого элемента на экране должна появляться подсказка с его номером.
Вот что я попробывал. Но не получилось. В чём ошибка? Ведь я расписал ввод (пяти элементов), дальше если счётчик i будет больше нулю то в итоге вывести на экран сколько содержится в массиве ненулевых элементов.
Код:
#include<iostream.h>
main ()
{
int a[5],i,k;
cout<<"Posle vvoda kajdogo chisla, najmite ENTER"<<'\n';
for (i=0;i<5;i++)
{
cin>>a;
}
if (i>0)
{
for (i=0;i<5;i++)
cout<<"nenulevie elementi-"<<a<<'\n';
}}

[COLOR="Red"]Не удаляю это сообщение только потому что тебе уже ответили.Получаешь предупреждение.Одна тема - одна задача.[/COLOR]модератор.
32K
28 декабря 2007 года
-radik-
9 / / 19.09.2007
to Ci_novice
ты забыл ";" после первого и второго "}"
p.s. ты забыл ещё: "... Перед вводом каждого элемента на экране должна появляться подсказка с его номером."
10K
29 декабря 2007 года
Archy_74
51 / / 13.12.2006
Цитата: Ci_novice
Здравствуйте!
Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел и выводит количество ненулевых элементов. Перед вводом каждого элемента на экране должна появляться подсказка с его номером.


Код:
#include <stdio.h>
#include <conio.h>

//---------------------------------------------------------------------------

int main(int argc, char* argv[])
{
  int array[5],i;
  for(i=0;i<5;i++){
    printf("input element %d:",i+1);
    scanf("%d",&array);
  }
  for(i=0;i<5;i++)
    if(array!=0)
        printf("%d. %d\n",i+1,array);
  getch();
        return 0;
}
//---------------------------------------------------------------------------
320
29 декабря 2007 года
m_Valery
1.0K / / 08.01.2007
Цитата: Ci_novice
...Я не могу разобраться с некоторыми строками. Понятно что последовательность чисел Фибоначчи выражается через F(n-1)+F(n-2). Что означает в этой программе - RETURN, почему со значением 1 (не TRUE ли это и зачем оно здесь)? Можно ли заменить его на другую команду, например через for? Также в 3-ей строке: if ((n == 0) || (n ==1)) Для чего ставится такое условие? И для чего написана функция void? Ведь она не возвращает значение, а main () можно было написать и в начале программы...?
...


Подобные вопросы не для форума,для ответа на них есть учебники. Смотри Полезные ссылки раздела Студентам,качай учебник,например Стенли Липпмана по С++ и читай о том что такое функции, возвращаемые значения,что такое функция main и т.д.
По поводу условия if ((n == 0) || (n ==1)) .Это базовый случай.
fibonacci(0) = 0
fibonacci(1) = 1
Так что код такой.

Код:
#include <iostream>
using namespace std;
unsigned long fibon_elem(unsigned long n){
   if(n == 0||n == 1)
       return n;
   else
       return fibon_elem(n -1) + fibon_elem(n - 2);
}
int _tmain(int argc, _TCHAR* argv[])
{
    for(unsigned int i = 0;i <= 20;++i)
        cout<<fibon_elem(i)<<' ';
    cout<<endl;
    return 0;
}
74K
12 декабря 2011 года
demonikx
13 / / 12.12.2011
return указывает что следующее выражение будет возвращено из функции fib. (return forам не заменить)
void означает что данная функция main() не возвращает никаких переменных.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог