Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Программирование задач с использованием нескольких функций - C++

07.01.2015, 09:14. Просмотров 311. Ответов 12
Метки нет (Все метки)

всем доброго времени суток! вроде код правильный, помогите найти ошибку!!
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
#include <iostream.h>
#include <math.h> 
 
double Calculatea(double x,double y,double z)
{
    return ((y-x)*((y-z/(y-x))/1+(x-y)*(x-y)));
}
 
double Calculateb(double z)
{
    return (1+((z*z)/(3+(z*z)/5)));
}
 
main( )
{
    double x, y, z, Result;
    cout << "Input x, y, z: "<<endl;
    cin >> x >> y >> z;
    
    // îáúÿâëåГ*ГЁГҐ Г¬Г*Г±Г±ГЁГўГ* ГіГЄГ*Г§Г*òåëåé Г*Г* ГґГіГ*êöèè
    double (*Calculate[2]) (double,double,double);
    
    // ïðèñâîåГ*ГЁГҐ Г*äðåñîâ ГґГіГ*êöèé ГіГЄГ*Г§Г*òåëÿì 
    Calculate[0]=Calculatea;
    Calculate[1]=Calculateb;
    
    // âûçîâ ГґГіГ*êöèé Г± ïîìîùüþ ГіГЄГ*Г§Г*òåëåé
    Result=(*Calculate[0]) (x,y,z);
    cout <<" Result a= " << Result << endl;
    Result=(*Calculate[1]) (b);
    cout <<" Result b= " << Result << endl;
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2015, 09:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программирование задач с использованием нескольких функций (C++):

Программирование задач с использованием комбинированного типа данных или структур - C++
Написать программу данных задач используя комбинированный тип: Абитуриенты сдают пробные экзамены и получают сумму очков до 100....

Программирование комбинированных задач на языке С++ - C++
Помогите написать программу с использованием файлов и структур. Заполнить расчетную ведомость: Табельный номер ___Фамилия ...

Программирование задач обработки файлов - C++
Дан файл f, компоненты которого являются целыми числами. Записать в файл g наибольшее значение первых ста компонент файла f, затем -...

Программирование задач обработки структур и файлов - C++
Даны сведения о книгах: автор, название, год издания. Вывести на экран сведения о книге &quot;Информатика&quot;, упорядочив по возрастанию год...

Программирование задач обработки структур и файлов - C++
помогите пожалуйста! Даны сведения о студентах группы: ФИО студента, дата рождения студента, место рождения студента. Вывести список...

Программирование задач обработки структур и файлов - C++
Задание: Даны сведения о результатах сессии: ФИО студента, названия четырех предметов и оценки, полученные по каждому предмету. Вывести...

12
grikukan
61 / 61 / 21
Регистрация: 23.09.2012
Сообщений: 212
07.01.2015, 09:34 #2
Так у Вас же функции разных типов. Одна double(double), другая double(double,double,double). Их нельзя кидать в один массив, так же как в один массив нельзя кидать int и unordered_map<set<pair<int,long double> >,string>
0
deamoning
0 / 0 / 0
Регистрация: 06.01.2015
Сообщений: 12
07.01.2015, 10:04  [ТС] #3
а как ее исправить,сколько пробовал не получается, что то упускаю постоянно((( помогите пожалуйста!
0
zss
Модератор
Эксперт С++
6634 / 6196 / 2051
Регистрация: 18.12.2011
Сообщений: 16,155
Завершенные тесты: 1
07.01.2015, 10:09 #4
Объявите
C++
1
2
3
4
double Calculateb(double z,double,double)
{
    return (1.+((z*z)/(3.+(z*z)/5.)));
}
И вызов:
C++
1
Result=(*Calculate[1]) (x,0,0);

Не по теме:

Не используйте целочисленные константы в выражениях с вещественными числами
Во избежание ошибок.
Распространенные ошибки

0
deamoning
0 / 0 / 0
Регистрация: 06.01.2015
Сообщений: 12
07.01.2015, 10:18  [ТС] #5
C:\Documents and Settings\XPMUser\Ðàáî÷èé ñòîë\Íîâàÿ ïàïêà\Íîâàÿ ïàïêà (5)\22.cpp(9) : error C2146: syntax error : missing ';' before identifier 'Calculateb'
C:\Documents and Settings\XPMUser\Ðàáî÷èé ñòîë\Íîâàÿ ïàïêà\Íîâàÿ ïàïêà (5)\22.cpp(9) : error C2501: 'ddouble' : missing storage-class or type specifiers
C:\Documents and Settings\XPMUser\Ðàáî÷èé ñòîë\Íîâàÿ ïàïêà\Íîâàÿ ïàïêà (5)\22.cpp(9) : fatal error C1004: unexpected end of file found
Error executing cl.exe.
0
Enno
267 / 170 / 38
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
07.01.2015, 11:24 #6
ddouble - чё за тип такой?
0
deamoning
0 / 0 / 0
Регистрация: 06.01.2015
Сообщений: 12
07.01.2015, 11:27  [ТС] #7
незнаю. выдает эти ошибки и хоть тресни. и что с кодом и где что поменять так и не понял... исходник сверху.
0
Enno
267 / 170 / 38
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
07.01.2015, 12:03 #8
Цитата Сообщение от deamoning Посмотреть сообщение
исходник сверху.
Судя по ошибкам это уже устаревший исходник. Актуальный в студию.
0
zss
Модератор
Эксперт С++
6634 / 6196 / 2051
Регистрация: 18.12.2011
Сообщений: 16,155
Завершенные тесты: 1
07.01.2015, 12:05 #9
Все происходит в 9 строке Вашего кода.
Там вместо double написано ddouble

Не по теме:

Если бы просто скопировали код из поста 4,
то такой ошибки не было бы....

0
KOPOJI
07.01.2015, 12:07
  #10

Не по теме:

deamoning, не надо трескать. Просто исправьте "ddouble" на "double" в той строке, где вам рисует IDE...

0
deamoning
0 / 0 / 0
Регистрация: 06.01.2015
Сообщений: 12
07.01.2015, 12:07  [ТС] #11
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
#include <iostream.h>
#include <math.h> 
 
double Calculatea(double x,double y,double z)
{
    return ((y-x)*((y-z/(y-x))/1+(x-y)*(x-y)));
}
 
double Calculateb(double z,double,double)
{
    return (1+((z*z)/(3+(z*z)/5)));
}
 
main( )
{
    double x, y, z, Result;
    cout << "Input x, y, z: "<<endl;
    cin >> x >> y >> z;
    
    // объявление массива указателей на функции
    double (*Calculate[2]) (double,double,double);
    double (*Calculate[3]) (double);
 
    
    // присвоение адресов функций указателям 
    Calculate[0]=Calculatea;
    Calculate[1]=Calculateb;
    
    // вызов функций с помощью указателей
    Result=(*Calculate[0]) (x,y,z);
    cout <<" Result a= " << Result << endl;
    Result=(*Calculate[1]) (z,0,0);
 
    cout <<" Result b= " << Result << endl;
    return 0;
}
0
zss
Модератор
Эксперт С++
6634 / 6196 / 2051
Регистрация: 18.12.2011
Сообщений: 16,155
Завершенные тесты: 1
07.01.2015, 12:16 #12
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
using namespace std; 
double Calculatea(double x,double y,double z)
{
    return ((y-x)*((y-z/(y-x))/1.+(x-y)*(x-y)));
}
 
double Calculateb(double z,double,double)
{
    return (1.+((z*z)/(3.+(z*z)/5.)));
}
 
int main( )
{
    double x, y, z, Result;
    cout << "Input x, y, z: "<<endl;
    cin >> x >> y >> z;
    
    // объявление массива указателей на функции
    double (*Calculate[2]) (double,double,double);
    //double (*Calculate[3]) (double);
 
    
    // присвоение адресов функций указателям 
    Calculate[0]=Calculatea;
    Calculate[1]=Calculateb;
    
    // вызов функций с помощью указателей
    Result=(*Calculate[0]) (x,y,z);
    cout <<" Result a= " << Result << endl;
    Result=(*Calculate[1]) (z,0,0);
 
    cout <<" Result b= " << Result << endl;
    system("pause");
    return 0;
}
1
Enno
267 / 170 / 38
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
07.01.2015, 12:16 #13
Конфликт имён Calculate[2] и Calculate[3].
0
07.01.2015, 12:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2015, 12:16
Привет! Вот еще темы с ответами:

Программирование задач с операторами условного перехода - C++
Данное двузначное число. определить а) входит ли в него цифра 3; б) входит ли в него цифра а.

Программирование задач обработки структур и файлов. - C++
Даны сведения о книгах, поступивших в библиотеку: ФИО автора, название книги, название издательства, год издания, дата поступления книги в...

Проверить корректность реализации нескольких задач - C++
Добрый вечер всем. Вопрос относиться к опытным программистам С++. Вопрос такой. Я хотел устроится на вакансию Junior Developer C++, ...

Программирование типовых числовых задач обработки одномерных массивов - C++
1) Вычислить и запомнить в структуре одномерного массива (таблица 1) фиксированное количество элементов числовой последовательности,...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.