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

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

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

Исправить ошибку в выражении - C++

07.02.2014, 20:10. Просмотров 311. Ответов 8
Метки нет (Все метки)

A[i][j]=exp(-0.3*(i+j))*(j-5.3)*(j-0.7)*(j-6.5)*pow(i+j,2);
где ошибка в строчке?
выражение
aij=e-0.3(i+j)(j-5.3)(j-0.7)(j-6.5)(i+j)2
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2014, 20:10     Исправить ошибку в выражении
Посмотрите здесь:

Найти ошибку в регулярном выражении - C++
Использую RegExpr модуль от Андрея Сорокина. Сделал небольшое изменение для удобства использования в билдере: const // EscChar =...

Исправить ошибку - C++
Помогите исправить ошибку #include <iostream> #include <locale> #include <cmath> #define M_PI 3.1415926535897932384626433832795 ...

Исправить ошибку - C++
Задачу и формулы надо переписывать! Редактор формул внизу страницы. помогите исправить ошибку в программе, задание 9 вариант, первая...

Исправить ошибку - C++
Когда нажимаю "n" что бы вводить фамилии с клавиатуры, выбивает ошибку(краш консоли) Вот задание:После ввода с клавиатуры строками...

массив (исправить ошибку) - C++
Подскажите, плиз, где я допустился ошибку? Надо сделать так, что я ввожу массив, а если число меньше или равно 0, то его надо переместить в...

Исправить ошибку в коде с++ - C++
Помогите исправить ошибку в коде: CString m_showlink; CRec1->GetFieldValue("Ïóòü",CValue); m_showlink = CValue.pbVal; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.02.2014, 20:20     Исправить ошибку в выражении #2
kombabalomba, скорее всего в pow(i + j, 2), i + j надо перевести в тип double:
C++
1
pow((double)(i + j), 2);
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
07.02.2014, 20:30     Исправить ошибку в выражении #3
Цитата Сообщение от GuGo1991 Посмотреть сообщение
скорее всего в pow(i + j, 2), i + j надо перевести в тип double:
C++
1
pow((double)(i + j), 2);
Как-то сомнительно это. pow и так принимает double, и приведение выполнится автоматически.

kombabalomba
Какого типа у вас A[i][j]? Не int случаем?
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.02.2014, 20:43     Исправить ошибку в выражении #4
Цитата Сообщение от DrOffset Посмотреть сообщение
Как-то сомнительно это. pow и так принимает double, и приведение выполнится автоматически.
Не выполнится. Компилятор должен ругаться.
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
07.02.2014, 20:46     Исправить ошибку в выражении #5
Цитата Сообщение от GuGo1991 Посмотреть сообщение
Не выполнится. Компилятор должен ругаться.
Не должен:
C++
1
     double f = 5;
http://ideone.com/ELxpHf
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.02.2014, 20:54     Исправить ошибку в выражении #6
DrOffset, компилятор не должен такое игнорировать.
Где вы компилировали? На пример в Dev-C++ такое не катит.
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
07.02.2014, 21:09     Исправить ошибку в выражении #7
Цитата Сообщение от GuGo1991 Посмотреть сообщение
DrOffset, компилятор не должен такое игнорировать.
Где вы компилировали? На пример в Dev-C++ такое не катит.
Я дал ссылку на онлайн компилятор, пример собирается. Там GCC 4.8.1.

Standard C++11:
8.5.4/6
A narrowing conversion is an implicit conversion
— from a floating-point type to an integer type, or
— from long double to double or float, or from double to float, except where the source is a constant
expression and the actual value after conversion is within the range of values that can be represented
(even if it cannot be represented exactly), or
from an integer type or unscoped enumeration type to a floating-point type, except where the source
is a constant expression and the actual value after conversion will fit into the target type and will
produce the original value when converted back to the original type, or
— from an integer type or unscoped enumeration type to an integer type that cannot represent all the
values of the original type, except where the source is a constant expression and the actual value after
conversion will fit into the target type and will produce the original value when converted back to the
original type.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.02.2014, 23:10     Исправить ошибку в выражении #8
DrOffset, у меня GCC 3.4.2, неявно не пройдёт
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2014, 23:20     Исправить ошибку в выражении
Еще ссылки по теме:

Помогите исправить ошибку - C++
Всем привет, выдается ошибка, не могу понять с чем связано. Задача такая: сделать из массива новый массив с неповторяющимися элементами. ...

Нужно исправить ошибку - C++
/* source: http://runnable.com/Us53wIV1TEVWAAHd/how-to-search-a-node-in-a-linked-list-for-c%2B%2B * A sample code of search a node with...

Исправить ошибку в программе - C++
не могу сдать зачет((( в С++ полный ноль((( надеюсь на ваше понимание.. Укажите и исправьте ошибку в программе. Полагайте, что int...

Исправить ошибку в коде. С++ - C++
Помогите исправить ошибку. Ошибка заключается в некорректной работе при вводе сообщения с пробелом. #include "stdafx.h" #include...


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

Или воспользуйтесь поиском по форуму:
DrOffset
7058 / 4199 / 949
Регистрация: 30.01.2014
Сообщений: 6,965
07.02.2014, 23:20     Исправить ошибку в выражении #9
Цитата Сообщение от GuGo1991 Посмотреть сообщение
DrOffset, у меня GCC 3.4.2, неявно не пройдёт
Я понял почему. Уберите using namespace std и все соберется. Проблема не в обсуждаемой теме, а в том, что при using namespace std в глобальное пространство имен добавляются эквивалентные функции, с одинаковыми параметрами (одна std:: pow, другая просто pow), ошибка в выборе между ними.

Что касается приведенной мной цитаты из стандарта - она распространяется также и на все компиляторы (претендующие на соответствие стандарту) и версии стандарта(С++98, С++2003), в том числе и на GCC 3.х.х.
Yandex
Объявления
07.02.2014, 23:20     Исправить ошибку в выражении
Ответ Создать тему
Опции темы

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