Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 18

Исправление ошибки

20.09.2015, 17:58. Показов 2129. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Не могу понять, в чем заключается ошибка кода и как ее решить. Помогите, пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
    float d = 4.4; //значение первой переменной (третья функция)
    float b = -2.5; //значение второй перемнной (третья функция)
    float c = 0.15; //значение третьей переменной (третья функция)
    float y = -0.1; //значение четвертой переменной (третья функция)
    float F3; //значение функции
    F3 = sqrt(abs(b*y))*log10(sqrt(2 * abs(y)) + c*pow(y, 2) - exp(-d*y))*pow(10, 6); //введение третьей функции
    float result = F3;
    printf("Result: %0.5f\n", result); //точность - 5 знаков после запятой
    _getch();
}
Выдает это:
Ошибка C4578 'abs': conversion from 'float' to 'int', possible loss of data (Did you mean to call 'fabsf' or to #include <cmath>?)

Ругается на эту строчку
C++
1
F3 = sqrt(abs(b*y))*log10(sqrt(2 * abs(y)) + c*pow(y, 2) - exp(-d*y))*pow(10, 6);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2015, 17:58
Ответы с готовыми решениями:

Исправление ошибки
Как сделать в else чтобы число n генерировалось заново,если числа n и m не простые? #include &lt;iostream&gt; #include...

исправление ошибки
Народ как исправить эту ошибку #include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; void f(float x0) ...

Исправление ошибки
Добрый день, ув. форумчане! Помогите, пожалуйста, исправить ошибку. Не пойму в чём проблема. std::vector &lt;unsigned char&gt; converter...

10
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.09.2015, 18:12
fabs() используй и выбрось float - только double.
1
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 18
20.09.2015, 18:19  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
fabs() используй и выбрось float - только double.
Выкинуть все float или в каком-то конкретном месте? И в каком месте использовать fabs()?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.09.2015, 18:33
Везде используй double. fabs() использовать вместо abs(). Последний для целых чисел.
1
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 18
20.09.2015, 18:40  [ТС]
Некорректно работает. Выдает: "Result: -nan(ind)"
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
20.09.2015, 19:01
А это, что за изыск?
Цитата Сообщение от Sheol Посмотреть сообщение
*pow(10, 6)
такая константа записывается так: 1e6
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.09.2015, 19:01
У тебя в логарифме отрицательное число -1.10399.
Это pow(10, 6) записвается как 1E6.
1
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
20.09.2015, 19:02
Цитата Сообщение от Sheol Посмотреть сообщение
pow(y, 2)
Это пишем так: y*y
1
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 18
20.09.2015, 19:21  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
Это пишем так: y*y
Попытался, все равно не работает.

Цитата Сообщение от nmcf Посмотреть сообщение
У тебя в логарифме отрицательное число -1.10399.
Это pow(10, 6) записывается как 1E6.
И это тоже попробовал, результат все тот же - -nan(ind). Даже все числа на нули заменял, безрезультатно.
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
20.09.2015, 19:27
Вам же написали, что выражение sqrt(2 * fabs(y)) + c*y*y - exp(-d*y) равно -1.10399
Соответственно, логарифм от него не существует
А если все числа заменить на нули, то оно равно -1
Если заменить на единицы, то посчитается!
1
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 18
20.09.2015, 19:36  [ТС]
Странно, что сначала ничего не исправилось. Спасибо всем за ответы. Проблема решена.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.09.2015, 19:36
Помогаю со студенческими работами здесь

исправление ошибки
задание:напишите программу, которая считывает строку символов, выбирает числа из этой строки и записывает их в стек. вывести содержимое...

Исправление ошибки в коде
Всем доброе утро!!!Вот тут задачка запускается , вроде все по примеру делал ,все равно не хочет работать((. Вот сама задачка: # include...

Исправление ошибки. Строки С++
Помогите, пожалуйста, с решением следующей задачи: Пусть имеется словарь, состоящий не менее чем из 20 слов. С клавиатуры вводятся слова,...

Исправление ошибки в программе
Задача напечатать таблицу значений в виде |N | x | S(x) | F(x) | Х изменяется в диапазоне от a до b с шагом h. Вычисление суммы вести...

Исправление ошибки в работе со строками
Каждый раз в моём коде со строками выдает эту ошибку. Иногда, если проигнорировать её, всё запустится, а иногда - нет. В чём проблема? ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru