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

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

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

Посчитать значение следующего математического выражения, x вводится с клавиатуры - C++

28.10.2013, 18:34. Просмотров 860. Ответов 11
Метки нет (Все метки)

Не знаю, что еще добавить, чтобы норм работало.
Миниатюры
Посчитать значение следующего математического выражения, x вводится с клавиатуры   Посчитать значение следующего математического выражения, x вводится с клавиатуры  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2013, 18:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посчитать значение следующего математического выражения, x вводится с клавиатуры (C++):

Вычислите значение выражения. Значение х вводится с клавиатуры - C++
Определите количество трехзначных натуральных чисел, произведение цифр которых равно введенному с клавиатуры числу N. Выведите эти числа.

Найти значение выражения, если знак операции вводится с клавиатуры - C++
пример с вводом знака с клавы int a, char b, int c как сделать int s=abc

С клавиатуры вводится выражение вида с ор с (с-цифра, ор-знак операции). Вычислить значение выражения. Использовать оператор вариантов. - C++
Буду благодарен!=(( 1. С клавиатуры вводится выражение вида с ор с (с-цифра, ор-знак операции). Вычислить значение выражения....

Вычислить значение математического выражения - C++
Выдает ошибку error C2679: бинарный ">>": не найден оператор, принимающий правый операнд типа "const char " (или приемлемое преобразование...

С клавиатуры вводится текст,посчитать длину самого длинного слово - C++
Спасибо

Считать n и вычислить значение следующего выражения - C++
Всем привет. Помогите пожалуйста с задачкой на С++. Только начал осваивать этот язык. Считать n и вычислить значение следующего...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
EzCoding
25 / 11 / 1
Регистрация: 26.10.2013
Сообщений: 85
Записей в блоге: 1
28.10.2013, 18:39 #2
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 <conio.h>
#include <math.h>;
using namespace std;
int main ()
{
    double x, result;
    cin >> x;
    while ((x<=0)&&(x==acos(0)))
        do {
             cout << "NEVERNUE DANNUE, POVTORITE";
             cin >> x;
             }
 
    result = 1 / pow (x, 1/9) + 3*x/cos (x);
 
 
 
    getch();
    return 0;
}
Так вроде
Если считать
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 480
Записей в блоге: 1
28.10.2013, 18:46 #3
Pavel_Vitman, с чем загвоздка? С проверкой на корректность?
Здесь очевидно x>0 и x!=pi/2+2*pi*k;
Таким образом проверка на корректность ввода организуется примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double x=-1;
bool fir=false;
while(x<=0 || (x-pi/2)%(2*pi)==0)
{
if(fir)
{
cout<<"Вы ввели некоректные данные. Повторите ввод: ";
}
else cout<<"Введите x: ";
cin>>x;
fir=true;
}
//после цикла x корректный. Можно производить вычисления.
Stella
75 / 75 / 5
Регистрация: 26.02.2013
Сообщений: 224
28.10.2013, 18:46 #4
небольшая поправка
Цитата Сообщение от EzCoding Посмотреть сообщение
result = 1 / pow (x, 1/9) + 3*x/cos (x);
наверное так
C++
1
result = 1 / pow (x, 1./9) + (3*x)/cos(x);
и else непонятно от чего?
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 480
Записей в блоге: 1
28.10.2013, 18:47 #5
EzCoding, не учитываешь период. acos вернет только одно значение в диапазоне [-pi;pi]
EzCoding
25 / 11 / 1
Регистрация: 26.10.2013
Сообщений: 85
Записей в блоге: 1
28.10.2013, 18:50 #6
Цитата Сообщение от Stella Посмотреть сообщение
небольшая поправка

наверное так
C++
1
result = 1 / pow (x, 1./9) + (3*x)/cos(x);
и else непонятно от чего?
else исправил уже)
а так да, вы правы
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 480
Записей в блоге: 1
28.10.2013, 18:51 #7
И ещё, вот здесь
Цитата Сообщение от EzCoding Посмотреть сообщение
(x<=0)&&(x==acos(0))
должно быть ИЛИ (||) а не (&&) поскольку при выполнении хотя бы одного условия ввод надо повторять
EzCoding
25 / 11 / 1
Регистрация: 26.10.2013
Сообщений: 85
Записей в блоге: 1
28.10.2013, 18:51 #8
Цитата Сообщение от Algoritmer Посмотреть сообщение
EzCoding, не учитываешь период. acos вернет только одно значение в диапазоне [-pi;pi]
Спасибо, справедливо. забыл)
И про условие тоже верно. Спасибо. Что-то со мной сегодня не так)
Pavel_Vitman
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 14
29.10.2013, 04:04  [ТС] #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
// ConsoleApplication3.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <clocale>
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
    double x;
    const double PI = 3.14159265;
    double y;
    printf("Введите x: \n");
    scanf_s("%f", &x);
 
    while ((x <= 0) || (x == acos(0)));
    {
        printf("Некорректные данные! Введите другие \n");
        scanf_s("%f", &x);
    }
 
            y = 1 / pow(x, 1. / 9) + (3 * x) / cos(x);
            printf("Значение выражения при x = %f равно %f", x, y);
            getchar();
            return 0;
}
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 480
Записей в блоге: 1
29.10.2013, 10:33 #10
Pavel_Vitman, цикл вот так:
C++
1
2
3
4
5
while ((x <= 0) || (cos(x) == 0))
    {
        printf("Некорректные данные! Введите другие \n");
        scanf_s("%f", &x);
    }
Pavel_Vitman
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 14
05.11.2013, 09:50  [ТС] #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
// ConsoleApplication3.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <math.h>
#include <clocale>
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    setlocale(LC_ALL, "rus");
    printf("Введите x: ");
    double x, y;
    scanf_s("%f", &x);
 
    while ((x <= 0) || (cos(x) == 0))
    {
        printf("Некорректное данное. Введите другое ");
        scanf_s("%f", &x);
    }
 
    y = 1 / pow(x, 1. / 9) + (3 * x) / cos(x);
 
    printf("Значение выражения при x = %f равно %f", x, y);
    getchar();
    return 0;
}
Цикл почему-то стал бесконечным(((
Миниатюры
Посчитать значение следующего математического выражения, x вводится с клавиатуры  
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
05.11.2013, 10:10 #12
Попробуй scan("%lf", &x)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2013, 10:10
Привет! Вот еще темы с ответами:

Ввести число x и вычислить значение следующего выражения: - C++
Ввести число x и вычислить значение следующего выражения: y=2(sin)^2 (3π-2x)(cos)^2 (5π+2x) помогите)

Составьте программу, которая вычисляет произведение чисел от 1 до n. Значение n вводится с клавиатуры - C++
Помогите решить с использованием цикла do Составьте программу, которая вычисляет произведение чисел от 1 до n. Значение n вводится с...

Посчитать значение выражения - C++
3. Определить значение z — max(a, 2b)*max(2a - b, b), где mах(x, у) есть максимальное из чисел х, у. При решении задачи: а) не...

Посчитать значение выражения для введенного значения - C++
Нужно написать программу, которая находит значение выражения в соответствии с одним из вариантом заданий, для входных данных, определенных...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.11.2013, 10:10
Ответ Создать тему
Опции темы

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