Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
acd
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
#1

процедуры и функции - C++

16.05.2009, 10:32. Просмотров 528. Ответов 7
Метки нет (Все метки)

Задание - вычислить произведение членов ряда с заданной точностью и использованием функций. Получилось следующие:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include<stdio.h>
#include<conio.h>
 
int n,a; 
float factorial(int f) 
float raschet(float a) // здесь пишет Declaration syntax error
 
float factorial(int f) 
{
 int i;
 f=1;
 for(i=1;i<=n;i++) f*=1; //factorial nahodit
 return(f);
}
float raschet(float a)
{
    float s,ch; //s=summa ch ryada
    n=1;
    ch=1;
    s=0;
    while(ch>a)
    {
    ch=(0.5*(2+0.1*factorial(n));
    s*=ch;
    n++;
    }
    retirn(s);
}
void main(void)
{
clrscr();
printf("Sostavitel: 123");
printf("\n\nEnter a (tochnost rascheta): ");
scanf("%f",&a);
printf("Proizvedeniye ravno s=%f",raschet(a));
getch();
}
Подскажите,пожалуйста, в чем ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2009, 10:32     процедуры и функции
Посмотрите здесь:

C++ Процедуры и функции
C++ Функции и процедуры!
C++ Процедуры и функции.
C++ Процедуры и функции.
C++ Процедуры и функции
C++ Процедуры. Процедуры-функции
C++ Процедуры /функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RazorQ
 Аватар для RazorQ
576 / 343 / 9
Регистрация: 06.02.2009
Сообщений: 1,386
16.05.2009, 10:38     процедуры и функции #2
Убери прототипы функций вообще.

Добавлено через 3 минуты 1 секунду
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<stdio.h>
#include<conio.h>
 
int n,a; 
 
float factorial(int f) 
{
 int i;
 f=1;
 for(i=1;i<=n;i++) f*=1; //factorial nahodit
 return(f);
}
float raschet(float a)
{
        float s,ch; //s=summa ch ryada
        n=1;
        ch=1;
        s=0;
        while(ch>a)
        {
        ch=(0.5*(2+0.1*factorial(n)));
        s*=ch;
        n++;
        }
        return(s);
}
int main(void)
{
printf("Sostavitel: 123");
printf("\n\nEnter a (tochnost rascheta): ");
scanf("%f",&a);
printf("Proizvedeniye ravno s=%f",raschet(a));
getch();
return 0;
}
BullDogoff
 Аватар для BullDogoff
10 / 10 / 1
Регистрация: 16.05.2009
Сообщений: 30
16.05.2009, 10:40     процедуры и функции #3
Прототип функции заканчивается точкой с запятой.. Имеет смысл объявлять прототип в том случае, если тело функции располагается после тела main()..
З.Ы.: Пишем-то на плюсах - можно iostream.h пользовать..
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
16.05.2009, 10:40     процедуры и функции #4
в строке 6 предварительное определение функции должно заканчиваться оператором ";"
в 27 не retirn а return.
глобальная переменная и параметр функции названы одинаково - могут быть проблемы

вроде всё.
по самому алгоритму ничего не могу сказать - не вникал.
acd
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
16.05.2009, 11:17  [ТС]     процедуры и функции #5
спасибо. убрал прототипы функции - ошибок больше не находит ( retirn - невнимательность моя).
Но программа запускаться не хочет. Значит алгоритм неправильный?
BullDogoff
 Аватар для BullDogoff
10 / 10 / 1
Регистрация: 16.05.2009
Сообщений: 30
16.05.2009, 11:28     процедуры и функции #6
Может, я слепой.. Но если ряд состоит из целых чисел, как результат их перемножения может быть дробным?
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17192 / 5446 / 337
Регистрация: 30.03.2009
Сообщений: 14,794
Записей в блоге: 26
16.05.2009, 11:48     процедуры и функции #7
В 12-й строке написано "f*=1", а нужно "f*=i"

Цитата Сообщение от acd Посмотреть сообщение
Но программа запускаться не хочет
Что значит запускаться не хочет?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2009, 11:56     процедуры и функции
Еще ссылки по теме:

C++ процедуры/функции
C++ Процедуры-функции
Процедуры и функции C++
C++ процедуры и функции
C++ Подпрограммы-процедуры и процедуры-функции

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
acd
0 / 0 / 0
Регистрация: 13.05.2009
Сообщений: 11
16.05.2009, 11:56  [ТС]     процедуры и функции #8
Цитата Сообщение от Evg Посмотреть сообщение
В 12-й строке написано "f*=1", а нужно "f*=i"



Что значит запускаться не хочет?
при нажатии run (ctrl+F9) ничего не происходило. В 34-35 заменил на %d - заработало.
Yandex
Объявления
16.05.2009, 11:56     процедуры и функции
Ответ Создать тему
Опции темы

Текущее время: 22:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru