Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
1

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

30.06.2013, 21:09. Показов 1422. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
в данной программе для упрощения вычислений надо ввести дополнительную функцию. Помогите, пожалуйста, найти ошибку. Компилятор говорит об ошибке в синтаксисе, никак найти не могу.
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();
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2013, 21:09
Ответы с готовыми решениями:

Применить функцию для кнопки
Доброго времени суток. У меня есть небольшая функция, но как ее использовать не могу ни как понять,...

Как можно применить одну функцию для всех TextView?
Как можно применить одну функцию для всех TextView? Это возможно? Что бы не писать куча строк, а...

Как применить функцию только для текущего пользователя по нажатию кнопки?
Как применить функцию только для текущего пользователя по нажатию кнопки? Здравствуйте я новичок в...

Разработать (и применить) для классов A и B дружественную функцию, позволяющую определять текущую дату и время
Класс А определяет текущее системное время на компьютере Класс В определяет дату, изменение...

21
36 / 29 / 2
Регистрация: 01.08.2011
Сообщений: 176
30.06.2013, 21:19 2
Скорее всего нужно писать int main(). И потом нет кода для функции easy, которая используется, поэтому и не компилируется.
1
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
30.06.2013, 21:22 3
Цитата Сообщение от Pendalfik Посмотреть сообщение
C
1
2
3
{
return stepen
}
Что это? Пишите сразу уж и ошибки компиляции... и код стоит форматировать, так что-то понять затруднительно.
0
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:23  [ТС] 4
Простите за недогадливость, но почему нет кода? Я же прописываю её выше main? Или что-то не так понимаю?
0
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:28  [ТС] 5
Цитата Сообщение от gray_fox Посмотреть сообщение
Что это? Пишите сразу уж и ошибки компиляции... и код стоит форматировать, так что-то понять затруднительно.
Прилагаю ошибки компиляции
Миниатюры
Применить функцию для упрощения вычислений  
0
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
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);
}
1
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 стало выбивать еще две ошибки
0
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
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);
}
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 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 разное
0
What a waste!
1608 / 1300 / 180
Регистрация: 21.04.2012
Сообщений: 2,729
30.06.2013, 21:41 10
У меня его (Borland C++) всё равно нет, так что сам я проверить не могу, если что.
0
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:41  [ТС] 11
Убрала cmath и std ошибок стало 3
0
36 / 29 / 2
Регистрация: 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()
1
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 21:46  [ТС] 13
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Pendalfik, у Вас здесь после w=easy... закрывающая скобка лишняя и после printf... тоже, получаетя, всё что ниже w=easy... не входит в функцию main()
Спс, ошибки осталась одна.....
Миниатюры
Применить функцию для упрощения вычислений  
0
36 / 29 / 2
Регистрация: 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
1
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.06.2013, 21:47 15
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Здесь наверно должно быть не 0,5 а 0.5
ну, это автору программы виднее, может и так
1
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); и ругается, не считает....
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.06.2013, 22:02 17
как сейчас программа выглядит?
1
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();
}
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
30.06.2013, 22:05 19
я же выше исправил программу, там, в частности, с форматом путаница
1
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 31
30.06.2013, 22:14  [ТС] 20
Ox, простите, тема перешла на вторую страницу и не увидела, сейчас спробую.

Добавлено через 7 минут
Цитата Сообщение от Thinker Посмотреть сообщение
я же выше исправил программу, там, в частности, с форматом путаница
Считать считает..... только странновато, что не вводи - ноль в итоге....
0
30.06.2013, 22:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2013, 22:14
Помогаю со студенческими работами здесь

Функция для упрощения выражения
Сначала я создал функцию которая трансформирует инфиксную форму в префиксную. (defun...

Создание цикла для упрощения кода
есть часть кода,в которой реализуется расчёт каких либо переменных. кто подскажет как реализвать...

каким методом воспользоваться для упрощения?
24/((5^1/3)+(3^1/3)) т.е. двадцать четыре разделить на сумму кубических корней из 5 и 3.

Программа для упрощения логических выражений
Всё как всегда. Буквы дружат с буквами, цифры с цифрами. Но возникает вопрос: если у меня на...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru