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

Применить функцию для упрощения вычислений - C++

Восстановить пароль Регистрация
 
 
Pendalfik
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:09     Применить функцию для упрощения вычислений #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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <windows.h>
double easy(double a, double x, double b, double p)
int stepen = pow((a*pow(x,2)+b), p);
{
return stepen
}
main()
{
double x,y,a,b,c,d,g,r,z,w;
char str[50];
textbackground(2);
textcolor(15);
clrscr();
CharToOem("\nÂâåäèòå x:\n", str);
printf(str);
scanf("%f",&x);
CharToOem("\n\nÂâåäèòå y:\n", str);
printf(str);
scanf("%f",&y);
CharToOem("\n\nÂâåäèòå z:\n", str);
printf(str);
scanf("%f",&z);
CharToOem("\n\nÂâåäèòå  a:\n", str);
printf(str);
scanf("%f",&a);
CharToOem("\n\nÂâåäèòå  b:\n", str);
printf(str);
scanf("%f",&b);
CharToOem("\n\nÂâåäèòå  c:\n", str);
printf(str);
scanf("%f",&c);
CharToOem("\n\nÂâåäèòå  g:\n", str);
printf(str);
scanf("%f",&g);
CharToOem("\n\nÂâåäèòå  r:\n", str);
printf(str);
scanf("%f",&r);
CharToOem("\n\nÂâåäèòå  d:\n", str);
printf(str);
scanf("%f",&d);
printf("\n");
w=easy(a,x,b,2)/easy(c,y,d,3)+easy(g,z,r,0,5);
}
printf("\nw = %f",w);
{
CharToOem("\nÄëÿ âûõîäГ* Г*Г*æìèòå ГЄГ«Г*ГўГЁГёГі Enter", str);
printf(str);
getch();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Виктор_Сен
 Аватар для Виктор_Сен
29 / 22 / 1
Регистрация: 01.08.2011
Сообщений: 176
30.06.2013, 21:19     Применить функцию для упрощения вычислений #2
Скорее всего нужно писать int main(). И потом нет кода для функции easy, которая используется, поэтому и не компилируется.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
30.06.2013, 21:22     Применить функцию для упрощения вычислений #3
Цитата Сообщение от Pendalfik Посмотреть сообщение
C
1
2
3
{
return stepen
}
Что это? Пишите сразу уж и ошибки компиляции... и код стоит форматировать, так что-то понять затруднительно.
Pendalfik
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:23  [ТС]     Применить функцию для упрощения вычислений #4
Простите за недогадливость, но почему нет кода? Я же прописываю её выше main? Или что-то не так понимаю?
Pendalfik
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:28  [ТС]     Применить функцию для упрощения вычислений #5
Цитата Сообщение от gray_fox Посмотреть сообщение
Что это? Пишите сразу уж и ошибки компиляции... и код стоит форматировать, так что-то понять затруднительно.
Прилагаю ошибки компиляции
Миниатюры
Применить функцию для упрощения вычислений  
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
30.06.2013, 21:28     Применить функцию для упрощения вычислений #6
Pendalfik, у вас просто синтаксис неверный, я не сразу понял, что вы хотите сделать здесь
Цитата Сообщение от Pendalfik Посмотреть сообщение
C++
1
2
3
4
5
double easy(double a, double x, double b, double p)
int stepen = pow((a*pow(x,2)+b), p);
{
return stepen
}
вроде как функция определяется? Предположу что так
C++
1
2
3
4
5
6
7
#include <cmath>   // вместо #include <math.h>
 
// ...
 
double easy(double a, double x, double b, double p) {
   return std::pow(a * std::pow(x, 2.) + b, p);
}
Pendalfik
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:37  [ТС]     Применить функцию для упрощения вычислений #7
Цитата Сообщение от gray_fox Посмотреть сообщение
Pendalfik, у вас просто синтаксис неверный, я не сразу понял, что вы хотите сделать здесь

вроде как функция определяется? Предположу что так
C++
1
2
3
4
5
6
7
#include <cmath>   // вместо #include <math.h>
 
// ...
 
double easy(double a, double x, double b, double p) {
   return std::pow(a * std::pow(x, 2.) + b, p);
}
Изменила синтаксис - ошибки все те же.....

Добавлено через 5 минут
На cmath и std стало выбивать еще две ошибки
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
30.06.2013, 21:40     Применить функцию для упрощения вычислений #8
Цитата Сообщение от Pendalfik Посмотреть сообщение
На cmath и std стало выбивать еще две ошибки
Ну, учитывая Borland C++... попробуйте
C++
1
2
3
4
5
6
7
#include <math.h>
 
// ... 
 
double easy(double a, double x, double b, double p) {
   return pow(a * pow(x, 2.) + b, p);
}
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.06.2013, 21:41     Применить функцию для упрощения вычислений #9
вот так запускается:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <windows.h>
 
double easy(double a, double x, double b, double p)
{
double stepen = pow((a*pow(x,2)+b), p);
return stepen;
}
 
main()
{
double x,y,a,b,c,d,g,r,z,w;
char str[50];
//textbackground(2);
//textcolor(15);
//clrscr();
CharToOem("\nВведите x:\n", str);
printf(str);
scanf("%lf",&x);
CharToOem("\n\nВведите y:\n", str);
printf(str);
scanf("%lf",&y);
CharToOem("\n\nВведите z:\n", str);
printf(str);
scanf("%lf",&z);
CharToOem("\n\nВведите  a:\n", str);
printf(str);
scanf("%lf",&a);
CharToOem("\n\nВведите  b:\n", str);
printf(str);
scanf("%lf",&b);
CharToOem("\n\nВведите  c:\n", str);
printf(str);
scanf("%lf",&c);
CharToOem("\n\nВведите  g:\n", str);
printf(str);
scanf("%lf",&g);
CharToOem("\n\nВведите  r:\n", str);
printf(str);
scanf("%lf",&r);
CharToOem("\n\nВведите  d:\n", str);
printf(str);
scanf("%lf",&d);
printf("\n");
//w=easy(a,x,b,2)/easy(c,y,d,3)+easy(g,z,r,0,5);
 
printf("\nw = %f",w);
 
CharToOem("\nДля выхода нажмите клавишу Enter", str);
printf(str);
getch();
}
посмотрите на строчку
C++
1
w=easy(a,x,b,2)/easy(c,y,d,3)+easy(g,z,r,0,5);
количество аргументов функции easy разное
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
30.06.2013, 21:41     Применить функцию для упрощения вычислений #10
У меня его (Borland C++) всё равно нет, так что сам я проверить не могу, если что.
Pendalfik
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:41  [ТС]     Применить функцию для упрощения вычислений #11
Убрала cmath и std ошибок стало 3
Виктор_Сен
 Аватар для Виктор_Сен
29 / 22 / 1
Регистрация: 01.08.2011
Сообщений: 176
30.06.2013, 21:43     Применить функцию для упрощения вычислений #12
Цитата Сообщение от Pendalfik Посмотреть сообщение
C
1
2
3
4
5
6
7
8
w=easy(a,x,b,2)/easy(c,y,d,3)+easy(g,z,r,0,5);
}
printf("\nw = %f",w);
{
CharToOem("\nДля выхода нажмите клавишу Enter", str);
printf(str);
getch();
}
Pendalfik, у Вас здесь после w=easy... закрывающая скобка лишняя и после printf... тоже, получаетя, всё что ниже w=easy... не входит в функцию main()
Pendalfik
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:46  [ТС]     Применить функцию для упрощения вычислений #13
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Pendalfik, у Вас здесь после w=easy... закрывающая скобка лишняя и после printf... тоже, получаетя, всё что ниже w=easy... не входит в функцию main()
Спс, ошибки осталась одна.....
Миниатюры
Применить функцию для упрощения вычислений  
Виктор_Сен
 Аватар для Виктор_Сен
29 / 22 / 1
Регистрация: 01.08.2011
Сообщений: 176
30.06.2013, 21:46     Применить функцию для упрощения вычислений #14
Цитата Сообщение от Thinker Посмотреть сообщение
[C++]w=easy(a,x,b,2)/easy(c,y,d,3)+easy(g,z,r,0,5);[/С++]
Здесь наверно должно быть не 0,5 а 0.5
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.06.2013, 21:47     Применить функцию для упрощения вычислений #15
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Здесь наверно должно быть не 0,5 а 0.5
ну, это автору программы виднее, может и так
Pendalfik
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 22:00  [ТС]     Применить функцию для упрощения вычислений #16
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Здесь наверно должно быть не 0,5 а 0.5
Вот тут действительно не заметила, балда.... Все ошибок нет, благодарю всех за помощь

Добавлено через 8 минут
Цитата Сообщение от Pendalfik Посмотреть сообщение
Вот тут действительно не заметила, балда.... Все ошибок нет, благодарю всех за помощь
Ошибки компиляции пропали, а при запуске программа доходит до w=easy(a,x,b,2)/easy(c,y,d,3)+easy(g,z,r,0.5); и ругается, не считает....
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.06.2013, 22:02     Применить функцию для упрощения вычислений #17
как сейчас программа выглядит?
Pendalfik
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 22:04  [ТС]     Применить функцию для упрощения вычислений #18
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
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <windows.h>
double easy(double a, double x, double b, double p)
{
return pow(a * pow(x, 2) + b, p);
}
main()
{
double x,y,a,b,c,d,g,r,z,w;
char str[50];
textbackground(2);
textcolor(15);
clrscr();
CharToOem("\nÂâåäèòå x:\n", str);
printf(str);
scanf("%f",&x);
CharToOem("\n\nÂâåäèòå y:\n", str);
printf(str);
scanf("%f",&y);
CharToOem("\n\nÂâåäèòå z:\n", str);
printf(str);
scanf("%f",&z);
CharToOem("\n\nÂâåäèòå  a:\n", str);
printf(str);
scanf("%f",&a);
CharToOem("\n\nÂâåäèòå  b:\n", str);
printf(str);
scanf("%f",&b);
CharToOem("\n\nÂâåäèòå  c:\n", str);
printf(str);
scanf("%f",&c);
CharToOem("\n\nÂâåäèòå  g:\n", str);
printf(str);
scanf("%f",&g);
CharToOem("\n\nÂâåäèòå  r:\n", str);
printf(str);
scanf("%f",&r);
CharToOem("\n\nÂâåäèòå  d:\n", str);
printf(str);
scanf("%f",&d);
printf("\n");
w=easy(a,x,b,2)/easy(c,y,d,3)+easy(g,z,r,0.5);
printf("\nw = %f",w);
CharToOem("\nÄëÿ âûõîäГ* Г*Г*æìèòå ГЄГ«Г*ГўГЁГёГі Enter", str);
printf(str);
getch();
}
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.06.2013, 22:05     Применить функцию для упрощения вычислений #19
я же выше исправил программу, там, в частности, с форматом путаница
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.06.2013, 22:14     Применить функцию для упрощения вычислений
Еще ссылки по теме:

Составить программу для проверки утверждения: Результаты вычислений по формуле - простые числа C++
Создание цикла для упрощения кода C++
C++ Разработать (и применить) для классов A и B дружественную функцию, позволяющую определять текущую дату и время

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

Или воспользуйтесь поиском по форуму:
Pendalfik
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 22:14  [ТС]     Применить функцию для упрощения вычислений #20
Ox, простите, тема перешла на вторую страницу и не увидела, сейчас спробую.

Добавлено через 7 минут
Цитата Сообщение от Thinker Посмотреть сообщение
я же выше исправил программу, там, в частности, с форматом путаница
Считать считает..... только странновато, что не вводи - ноль в итоге....
Yandex
Объявления
30.06.2013, 22:14     Применить функцию для упрощения вычислений
Ответ Создать тему
Опции темы

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