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

Что здесь не так? - C++

Восстановить пароль Регистрация
 
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 00:35     Что здесь не так? #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
// xc.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 
// Таблица функции
#include<math.h>
#include <stdio.h>
#include<locale.h>
#include <conio.h>
#define LB -10.0    // нижняя граница диапазона изменения аргумента
#define HB 10.0     // верхняя граница диапазона изменения аргумента
#define DX 0.5     // приращение аргумента
void main()
 
{
    setlocale(LC_ALL,"RUS");
    float x,y; // аргумент и значение функции
    int n;     // кол-во точек
    int i;     // счетчик циклов
    n = (HB - LB) /DX +1;
 
    x = LB;
    printf("-------------------\n" );
    printf(" x | y\n");
    printf("-------------------\n");
    for (i = 1; i<=n; i++)
 
    {
       y = 2/x^3+27  ;
        printf("%6.2f | %6.2f\n" ,x ,y);
        x += DX;
 
    }
 
    printf("-------------------\n");
    printf("\nДля завершения нажмите <Enter>");
 
    getch();
 
}
Добавлено через 3 минуты
Он выдает таблицу все как положено вот только после проверки результат вообще не тот(

Добавлено через 5 минут
может нужно какую то библиотеку добавить чтобы х^3 распознавал?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2012, 00:35     Что здесь не так?
Посмотрите здесь:

C++ Ребята что здесь неправильно?
C++ Что здесь не так
C++ Что здесь не правильно?
C++ Кто знает что здесь не так
Что здесь не правильно? (переменные) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6166 / 2895 / 282
Регистрация: 04.12.2011
Сообщений: 7,695
Записей в блоге: 3
15.04.2012, 00:36     Что здесь не так? #2
Цитата Сообщение от Михаил Кричук Посмотреть сообщение
n = (HB - LB) /DX +1;
В суть не вникал, но смущает то, что эта строка для компилятора выглядит так:
( 10.0 - - 10.0 ) / 0.5 + 1
может лучше:
(HB - (LB)) /DX +1;
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 00:39  [ТС]     Что здесь не так? #3
Цитата Сообщение от IGPIGP Посмотреть сообщение
n = (HB - LB) /DX +1;
так вообще не запускается(
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
15.04.2012, 00:43     Что здесь не так? #4
В С++ нет оператора для возведения в степень. Но есть функция из стандартной библиотеки
C++
1
2
3
4
#include <cmath>
...
y = 2/std::pow( x, 3 ) + 27;
...
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 00:46  [ТС]     Что здесь не так? #5
Цитата Сообщение от Toshkarik Посмотреть сообщение
В С++ нет оператора для возведения в степень. Но есть функция из стандартной библиотеки
Код C++
1
2
3
4
#include <cmath>
...
y = 2/std:ow( x, 3 ) + 27;
...
у все равно не такой выдает какой должен при проверке(
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
15.04.2012, 00:47     Что здесь не так? #6
Вы даже не написали, что она должна выдавать И что за математическая функция используется.
UFO94
 Аватар для UFO94
263 / 252 / 13
Регистрация: 04.04.2012
Сообщений: 546
15.04.2012, 00:47     Что здесь не так? #7
Во первых, x^3=x*x*x. Во вторых, иксы выводит правильно?
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 00:52  [ТС]     Что здесь не так? #8
Она должна составить таблицу значений функций на интервале от -10 до 10, с шагом 0,5 что меня еще напрягает это то что до этого сделал у=2/х-10 и все работает а подставляю у=2/x^3+27 то вообще не понятно что он считает такое

Добавлено через 1 минуту
Цитата Сообщение от UFO94 Посмотреть сообщение
Во первых, x^3=x*x*x. Во вторых, иксы выводит правильно?
да иксы все правильно
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
15.04.2012, 00:57     Что здесь не так? #9
Цитата Сообщение от Михаил Кричук Посмотреть сообщение
Она должна составить таблицу значений функций на интервале от -10 до 10, с шагом 0,5 что меня еще напрягает это то что до этого сделал у=2/х-10 и все работает а подставляю у=2/x^3+27 то вообще не понятно что он считает такое
Написали же. Надо
C++
1
y=2/(x*x*x)+27;
знак ^ - это побитовое И
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 01:03  [ТС]     Что здесь не так? #10
Цитата Сообщение от Nekto Посмотреть сообщение
y=2/(x*x*x)+27;
он ответы считает не по этой формуле а не понятно по какой если хотя бы подставить 10 вместо х то получается х в кубе= 1000 да еще + 27 = 1027 а теперь делим 2 на 1027 = 0.00194742 а он пишет что при этом значении у =27 почему так получается объясните пожалуйста если кто знает
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6166 / 2895 / 282
Регистрация: 04.12.2011
Сообщений: 7,695
Записей в блоге: 3
15.04.2012, 01:05     Что здесь не так? #11
Цитата Сообщение от Михаил Кричук Посмотреть сообщение
так вообще не запускается(
Вот так не компиллируется:
(HB - (LB)) /DX +1;
?
Цитата Сообщение от Михаил Кричук Посмотреть сообщение
y = 2/std: Pow( x, 3 ) + 27;
по сути верно x^3 это несъедобно:
C++
1
y=2/(x*x*x)+27
и не париться как подключить Pow
std::Pow или math::Pow(...)
и работать будет чуть быстрее)
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
15.04.2012, 01:09     Что здесь не так? #12
Цитата Сообщение от Михаил Кричук Посмотреть сообщение
он ответы считает не по этой формуле а не понятно по какой если хотя бы подставить 10 вместо х то получается х в кубе= 1000 да еще + 27 = 1027 а теперь делим 2 на 1027 = 0.00194742 а он пишет что при этом значении у =27 почему так получается объясните пожалуйста если кто знает
вообще-то 2/1000 + 27= 0.002+27=27.002.
2/(x*x*x+27) тебе надо для 0.00194742...
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6166 / 2895 / 282
Регистрация: 04.12.2011
Сообщений: 7,695
Записей в блоге: 3
15.04.2012, 01:09     Что здесь не так? #13
Цитата Сообщение от Михаил Кричук Посмотреть сообщение
получается х в кубе= 1000 да еще + 27 = 1027 а теперь делим 2 на 1027 = 0.00194742 а он пишет что при этом значении у =27 почему так получается объясните пожалуйста если кто знает
Тогда бы
C++
1
y=2/(x*x*x +27)
Михаил Кричук
1 / 1 / 0
Регистрация: 14.04.2012
Сообщений: 42
15.04.2012, 01:15  [ТС]     Что здесь не так? #14
Всем большое спасибо, просто из за своей же дурости парился считал не правильно)
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.04.2012, 09:53     Что здесь не так? #15
Цитата Сообщение от Михаил Кричук Посмотреть сообщение
чтобы х^3 распознавал
float в любом случае не поддерживает ксорку. Да и в чём суперхитрость мешать в одну кучу арифметику и битовые операции?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2012, 10:38     Что здесь не так?
Еще ссылки по теме:

C++ что здесь не так? (из промежутка [n; m] вывести число, которое имеет наибольшее делителей)
Что здесь не так? C++
C++ Открытие и запись файла bmp. Что здесь не так ?

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

Или воспользуйтесь поиском по форуму:
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
15.04.2012, 10:38     Что здесь не так? #16
Цитата Сообщение от taras atavin Посмотреть сообщение
Да и в чём суперхитрость мешать в одну кучу арифметику и битовые операции?
Некоторые свято верят, что это оператор возведения в степень.)
Yandex
Объявления
15.04.2012, 10:38     Что здесь не так?
Ответ Создать тему
Опции темы

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