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

модуль числа - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
pupushecka
27 / 27 / 0
Регистрация: 13.06.2011
Сообщений: 165
01.06.2013, 14:11     модуль числа #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
#include <iostream.h>
#include <stdio.h>
#include <math.h>
int  main()
{
    int k,m,rez;
 
cout  << "vvedite k,m" << endl;
cin >> k >> m;
 
 
 
if (k>=0 && k<m)
{
 
rez=(sin*sin)*( 5*k+3*m*(fabs(log(k)));
 
   cout << " 0<=k<m.     rez=  " <<rez<< endl;
 
 
else  cout<<"ne podxodit"<<endl;
 
}
 
 
if (k>=m/2)
{
 
rez=(cos*cos)*( 5*k+3*m*(fabs(log(k)));
 
   cout << " k>=m/2.    rez=  " <<rez<< endl;
 
 
else  cout<<"ne podxodit"<<endl;
 
}
return 0;}
Миниатюры
модуль числа  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
demon1983
3 / 3 / 0
Регистрация: 25.12.2012
Сообщений: 13
01.06.2013, 14:25     модуль числа #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
#include <stdio.h>
#include <math.h>
using namespace std;
int  main()
{
    double k,m,rez;
cout  << "vvedite k,m" << endl;
cin >> k >> m;
if (k>=0 && k<m)
{
rez=(sin(5*k+3*m*(fabs(log(k)))))*sin(5*k+3*m*(fabs(log(k))));
cout << " 0<=k<m.     rez=  " <<rez<< endl;}
else cout<<"ne podxodit"<<endl;
if (k>=m/2)
{
rez=cos(5*k+3*m*(fabs(log(k))))*cos( 5*k+3*m*(fabs(log(k))));
cout << " k>=m/2.    rez=  " <<rez<< endl;}
else  cout<<"ne podxodit"<<endl;
return 0;}
UranFlex
131 / 129 / 21
Регистрация: 25.05.2013
Сообщений: 233
01.06.2013, 14:52     модуль числа #3
1 ) Если k = 3 и m = 4, то выполняются оба условия. По какой формуле тогда считать?
2) demon1983, обрати внимание на строки вычисления логарифма и на картинку с заданием - fabs совсем не там, где должен быть.

Добавлено через 1 минуту
Да и проще один раз вычислить rez, а потом его же и возвести в квадрат.
demon1983
3 / 3 / 0
Регистрация: 25.12.2012
Сообщений: 13
01.06.2013, 14:54     модуль числа #4
На условие я честно говоря вообще не смотрел, прошелся только по синтаксису.
UranFlex
01.06.2013, 14:57
  #5

Не по теме:

Лучше смотреть, если код постишь

demon1983
3 / 3 / 0
Регистрация: 25.12.2012
Сообщений: 13
01.06.2013, 15:23     модуль числа #6
Цитата Сообщение от UranFlex Посмотреть сообщение

Не по теме:

Лучше смотреть, если код постишь

Учту.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int  main()
{
    double k,m,rez;
cout  << "vvedite k,m" << endl;
cin >> k >> m;
if (k>=0 && k<m)
{
rez=pow((sin(5*k+3*m*(log(fabs(k))))),2);
cout << " 0<=k<m.     rez=  " <<rez<< endl;}
else cout<<"ne podxodit"<<endl;
if (k>=m/2)
{
rez=pow(cos(5*k+3*m*(log(fabs(k)))),2);
cout << " k>=m/2.    rez=  " <<rez<< endl;}
else  cout<<"ne podxodit"<<endl;
system ("pause");
return 0;}
Так лучше?
UranFlex
131 / 129 / 21
Регистрация: 25.05.2013
Сообщений: 233
01.06.2013, 15:39     модуль числа #7
введет пользователь -3 -8
тогда будет выполняться условие 2 ( k >= m / 2 ) и произойдет рассчет.
Но вот в чем дело - пользователю выведится сообщение "ne podxodit" перед рассчетом по второму условию.

Вот мой вариант, в нем я предположил, что второе условие выполняется только если первое не выполнено.
Также я педположил, что аргументами cos и sin будут величины в радианной мере.
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 <iostream>
#include <cmath>
 
using namespace std;
 
int main() {
    double k, m, rez;
 
    cout << "vvedite k,m" << endl;
    cin >> k >> m;
 
    if ( k >= 0 && k < m ) {
 
        rez = sin( 5 * k + 3 * m * log( fabs( k ) ) );
        rez *= rez;
 
        cout << " 0 <= k < m, rez = " << rez << endl;
 
    } else
 
    if ( k >= m / 2 ) {
 
        rez = sin( 5 * k + 3 * m * log( fabs( k ) ) );
        rez *= rez;
 
        cout << " k >= m / 2, rez =  " << rez << endl;
 
    } else
        cout << "ne podxodit" << endl;
 
    return 0;
}
demon1983
3 / 3 / 0
Регистрация: 25.12.2012
Сообщений: 13
01.06.2013, 15:43     модуль числа #8
Цитата Сообщение от UranFlex Посмотреть сообщение
if ( k >= m / 2 ) { rez = sin( 5 * k + 3 * m * log( fabs( k ) ) );
cos(5*k+3*m*(log(fabs(k)))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2013, 16:18     модуль числа
Еще ссылки по теме:

C++ Модуль числа
Модуль числа C++
Модуль большого числа C++

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

Или воспользуйтесь поиском по форуму:
UranFlex
131 / 129 / 21
Регистрация: 25.05.2013
Сообщений: 233
01.06.2013, 16:18     модуль числа #9
Да, соглдасен, cos
Yandex
Объявления
01.06.2013, 16:18     модуль числа
Ответ Создать тему
Опции темы

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