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

не могу найти ошибки - C++

Восстановить пароль Регистрация
 
Bubbles
1 / 1 / 0
Регистрация: 28.05.2013
Сообщений: 121
21.10.2013, 19:59     не могу найти ошибки #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
#include <stdio.h>
#include <math.h>
#include <iostream.h>
class primer
{
public:
void run(double x, double y, double z);
void set();
void print();      
};
void primer::run(double x, double y, double z)
{
double b = pow(y,(pow(abs(x)),1/2))+pow(cos(y)),1/3*(abs(x-y)*((1+pow(sin(z)),1/2/sqrt(x+y)))/exp(abs(x-y)+x/2);     
}
void primer::set()
{
double x = 6.251;
double y = 0.827;
double z = 25.001;     
}
void primer:: print()
{
cout<<b<<endln;     
}
void main()
{
 primer ob;
 ob.set();
 ob.run(double x, double y, double z);
 ob.print();
 return 0;    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
21.10.2013, 23:13     не могу найти ошибки #2
Цитата Сообщение от Bubbles Посмотреть сообщение
ob.run(double x, double y, double z);
ну и что ты передал этой функции?

Добавлено через 52 секунды
Цитата Сообщение от Bubbles Посмотреть сообщение
void primer:: print()
{
cout<<b<<endln;
}
и кто такая b?
Anton_Kretov
 Аватар для Anton_Kretov
89 / 51 / 7
Регистрация: 26.06.2013
Сообщений: 179
21.10.2013, 23:45     не могу найти ошибки #3
29 строка, вы функции передаете не то, что нужно. Вы передаете неинициализированные переменные в нее, а должны передать значения.
23 строка. Никогда не встречал оператора endlN
Bubbles
1 / 1 / 0
Регистрация: 28.05.2013
Сообщений: 121
28.10.2013, 17:49  [ТС]     не могу найти ошибки #4
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 <stdio.h>
#include <math.h>
#include <iostream.h>
class primer
{
public:
double x,y,z;
void run(double _x, double _y, double _z);
void set();
void print();      
};
void primer::run(double _x, double _y, double _z)
{
double b = pow(y,(pow(abs(x)),1/2))+pow(cos(y)),1/3*(abs(x-y)*((1+pow(sin(z)),1/2/sqrt(x+y)))/exp(abs(x-y)+x/2);     
}
void primer::set()
{
double x = _x;
double y = _y;
double z = _z;     
}
void primer:: print()
{
cout<<double b<<"\n";     
}
void main()
{
 primer ob;
 ob.set();
 ob.run(6.251, 0.827, 25.001);
 ob.print();
 return 0;    
}
Добавлено через 1 минуту
Все равно ошибки..
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
28.10.2013, 19:27     не могу найти ошибки #5
Цитата Сообщение от Bubbles Посмотреть сообщение
double b = pow(y,(pow(abs(x)),1/2))+pow(cos(y)),1/3*(abs(x-y)*((1+pow(sin(z)),1/2/sqrt(x+y)))/exp(abs(x-y)+x/2);
распиши в несколько строк
можно с использованием временных переменных а то ты в скобках запутался
pow(cos(y))
в функцию передается 1 аргумент(ошибка) и следующая запятая
,1/3*(abs(x-y)....
соответственно тоже ошибка
Цитата Сообщение от Bubbles Посмотреть сообщение
Все равно ошибки..
надо писать какие
Stella
75 / 75 / 5
Регистрация: 26.02.2013
Сообщений: 224
28.10.2013, 19:37     не могу найти ошибки #6
может как-то так:
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
class primer
{
public:
double _x;
double _y;
double _z;
double b;
void run(double x, double y, double z);
void set(double x, double y, double z);
void print();      
};
void primer::run(double x, double y, double z)
{
b = pow(y,(pow(abs(x)),1/2))+pow(cos(y)),1/3*(abs(x-y)*((1+pow(sin(z)),1/2/sqrt(x+y)))/exp(abs(x-y)+x/2);     
}
void primer::set(double x, double y, double z)
{
double _x = x;
double _y = y;
double _z = z;     
}
void primer:: print()
{
cout<< b<<"\n";     
}
еще с выражением разобраться нужно. какая там точно формула...
Владиславик
-131 / 0 / 0
Регистрация: 28.10.2013
Сообщений: 139
28.10.2013, 19:40     не могу найти ошибки #7
Всем привет. Парни, нужна срочная помощь. Знаю, что не по теме, однако эта самая обновляемая тема на форуме (надеюсь что мне ответят очень быстро и серьезно) P.S: Времени ждать совсем нету. Завтра защита практики.
Приступлю к самому заданию
Вообщем, нужно по заданиям составить задачи в C++ (Задачи на ЦИКЛ);
Пояснения:
^ - возведение числа в степень. (Пример: 1^5 = единица в пятой степени).
_ - числовая степень снизу. (Пример: F_n-1 = F, а с низу выражение n-1).
E - эпсилон.
-
Задача №1.
Показать, что для всех n=1,2,3,N
(1^5+2^5+...+n^5)+(1^7+2^7+...+n^7)=2(1+2+...+n)^4.
-
Задача №2.
Числа Фабоначчи (Fn) определяются формулами F0=F1=1; Fn=F_n-1+F_n-2 при N=2,3,...
Определить F40
-
Задача №3
Найти наименьший номер числа последовательности, для которого выполняется условие |An-A_n-1|<E. Вывести на экран тот номер и все элементы Ai, где i=1,2,...,n
An=A_n-1+A_n-2/2, a1=1,a2=2
-
Задача №4
Табулирование функции
Составить программу для вычисления значений функций F(x) на отрезке [a,b] с шагом h. Результат представить в виде таблицы, первый столбец которой - значение аргумента, второй соответствующий значению функции. F(x)=x^2sin^2x+1
-
Это 4 задачки на циклы в C++. Пожалуйста, добрые люди, отзовитесь. Нужно коды программ, полностью рабочие.
Я буду очень вам благодарен. Не удаляйтесь сообщения, искать тему нету времени, сдача завтра в 8 утра.
Пожалуйста, не удаляйте, помогите!
Bubbles
1 / 1 / 0
Регистрация: 28.05.2013
Сообщений: 121
28.10.2013, 20:02  [ТС]     не могу найти ошибки #8
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 <stdio.h>
#include <math.h>
#include <iostream>
class primer
{
public:
double x,y,z;
void run(double _x, double _y, double _z);
void set();
void print();      
};
void primer::run(double _x, double _y, double _z)
{
double b = x+y+z;     
}
void primer::set()
{ double _x,_y,_z;
double x = _x;
double y = _y;
double z = _z;     
}
void primer::print()
{
cout<<double b<<"\n";     
}
void main()
{
 primer ob;
 ob.set();
 ob.run(6.251, 0.827, 25.001);
 ob.print();
 return 0;    
}
Добавлено через 2 минуты
В общем с формулой я потом разберусь. Ошибка в cout в print() пишет, что в первые использует в функции.
Stella
75 / 75 / 5
Регистрация: 26.02.2013
Сообщений: 224
28.10.2013, 20:04     не могу найти ошибки #9
Bubbles, а почему вы выводите переменную вместе с типом:
Цитата Сообщение от Bubbles Посмотреть сообщение
cout<<double b<<"\n";
добавьте std::cout << b<< '\n';

Добавлено через 2 минуты
Цитата Сообщение от Bubbles Посмотреть сообщение
void primer::set() { double _x,_y,_z; double x = _x; double y = _y; double z = _z; }
_x,_y,_z не инициализированы, у них нет никаких значений, соответственно, x и y и z тоже ничего не присвоится
Bubbles
1 / 1 / 0
Регистрация: 28.05.2013
Сообщений: 121
28.10.2013, 20:09  [ТС]     не могу найти ошибки #10
Спасибо, сейчас проверю
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
28.10.2013, 20:11     не могу найти ошибки #11
Цитата Сообщение от Bubbles Посмотреть сообщение
void primer::set()
{ double _x,_y,_z;
double x = _x;
double y = _y;
double z = _z; * *
}
ну и какие ты значения здесь присваиваешь?
Цитата Сообщение от Bubbles Посмотреть сообщение
void primer::run(double _x, double _y, double _z)
{
double b = x+y+z; * *
}
а здесь какие ??? в аргументах _x в выражении x это разные переменные и разные имена
да и double b локальная переменная она забудется как только выйдешь из функции
Цитата Сообщение от Stella Посмотреть сообщение
void primer::set(double x, double y, double z)
{
double _x = x;
double _y = y;
double _z = z; * *
}
то же самое
_x _y _z не члены класса а локальные переменные
бесполезная функция, все что запомнится тут же потеряется
Bubbles
1 / 1 / 0
Регистрация: 28.05.2013
Сообщений: 121
28.10.2013, 20:17  [ТС]     не могу найти ошибки #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 <stdio.h>
#include <math.h>
#include <iostream>
class primer
{
public:
double x,y,z;
void run(double _x, double _y, double _z);
void set();
void print();      
};
void primer::run(double _x, double _y, double _z)
{
double b = x+y+z;     
}
void primer::set()
{ double _x,_y,_z;
double x = _x;
double y = _y;
double z = _z;     
}
void primer::print()
{double b;
std::cout<<b<<"\n";     
}
int main()
{
 primer ob;
 ob.set();
 ob.run(6.251, 0.827, 25.001);
 ob.print();
 return 0;    
}
В таком виде компилирует, но значение почему то не пишет, т.е. программа вообще не начинается визуально.

Добавлено через 2 минуты
ValeryS, я выполняла все по примеру, как было заданно...я не пойму, что здесь не так...
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
28.10.2013, 20:35     не могу найти ошибки #13
Цитата Сообщение от Bubbles Посмотреть сообщение
ValeryS, я выполняла все по примеру,
по какому примеру?
Цитата Сообщение от Bubbles Посмотреть сообщение
я не пойму, что здесь не так...
все
начни изучать что такое имена переменных одна ошибка
что такое локальные, глобальные переменные и члены класса это вторая ошибка
что такое аргументы функций и как они используются в теле третья ошибка
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2013, 22:20     не могу найти ошибки
Еще ссылки по теме:

C++ не могу избавится от ошибки
C++ Не могу исправить ошибки
Не могу исправить ошибки C++

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

Или воспользуйтесь поиском по форуму:
Stella
75 / 75 / 5
Регистрация: 26.02.2013
Сообщений: 224
28.10.2013, 22:20     не могу найти ошибки #14
Цитата Сообщение от ValeryS Посмотреть сообщение
то же самое
_x _y _z не члены класса а локальные переменные
бесполезная функция, все что запомнится тут же потеряется
точно. невнимательность как всегда ...
Yandex
Объявления
28.10.2013, 22:20     не могу найти ошибки
Ответ Создать тему
Опции темы

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