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

Ошибка с функцией - C++

Восстановить пароль Регистрация
 
coder2
1 / 1 / 0
Регистрация: 01.03.2014
Сообщений: 312
10.04.2014, 11:40     Ошибка с функцией #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
#include <iostream>
 
using namespace std;
 
int main()
{
    int sum,n;
    cin>>n;
    cout<<fun(sum);
}
 
int fun(int n2)
{
    int sum, b, fact;
    for(int i=0;i<n2;i++)
        cin>>b[i];
        int fact=2*3;
    sum=0;
    for(int j=3;j<=n2;j++)
    {
        fact*=j+1;
        sum+=fact;
        if(b[j-1]<7)
           sum+=b[j-1]*b[j-1];
    }
return sum;
}
ух, помогите найти ошибку, если не тяжело прокомментируйте
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 11:40     Ошибка с функцией
Посмотрите здесь:

Непонятка с функцией(ошибка в коде) C++
что за ошибка с функцией POW C++
Ошибка с функцией C++
C++ Ошибка с функцией
C++ ошибка с функцией std::uninitialized_copy
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
10.04.2014, 11:51     Ошибка с функцией #2
Допишите до main
C++
1
int fun(int n2);
Добавлено через 26 секунд
У Вас же программа не знает ничего сначала про функцию, вот и ругается.

Добавлено через 6 минут
И здесь ещё проблема, только увидела. У Вас же b - массив интов, а не переменная одна
C++
1
int sum, b, fact;
Добавлено через 2 минуты
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
#include <iostream>
 
using namespace std;
 
int fun(int n2);
 
int main()
{
    int n;
    cin>>n;
    cout<<fun(n);
}
 
int fun(int n2)
{
    int sum;
    int *b = new int[n2];
    for(int i=0;i<n2;i++)
        cin>>b[i];
    int fact = 2*3;
    sum=0;
    for(int j=3;j<=n2;j++)
    {
        fact *= j+1;
        sum += fact;
        if(b[j-1] < 7)
            sum += b[j-1]*b[j-1];
    }
    delete b;
    return sum;
}
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
10.04.2014, 12:31     Ошибка с функцией #3
Тамика, раз уж выделяли для массива, то и удалять надо соответствующим образом:
C++
1
delete [] b;
Переменную sum лучше инициализировать в момент создания.
C++
1
int sum = 0;
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
10.04.2014, 12:33     Ошибка с функцией #4
Цитата Сообщение от Tulosba Посмотреть сообщение
delete [] b;
Да, скобки пропустила. Спасибо.
Yandex
Объявления
10.04.2014, 12:33     Ошибка с функцией
Ответ Создать тему
Опции темы

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