Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 848

Раздел: C++
/ вопрос открыт /

Приветствую, уважаемые эксперты! выдаёт ошибку `ln' undeclared (first use this function) в чем проблема?

Приложение:
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <math.h>
  4. int main()
  5. {double a,b;
  6. printf("vvedite a %dn",a);
  7. if (0<=a<1)
  8.  
  9. b=((atan(a/sqrt(1-a*a)))+((ln((a*a*a)+3*a+2)))/ln(3))/(exp(a*a+3*a+2));
  10.  
  11. else
  12. printf("neverno vvedeno chislo");
  13.  
  14. getch();
  15. }


Алексей Комнин Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Алексей Комнин (статус: Посетитель)
Вопрос отправлен: 4 марта 2010, 22:22
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Егор

Здравствуйте, Алексей Комнин!
Я же написал в предыдущем вопросе - нет функции с именем ln. В Си эта функция называется log

Ну и немного по коду:
1) функция printf служит для вывода, а не ввода. Для ввода используем scanf.
2) т.к. переменная а у нас типа double, то вводить и выводить мы её должны со спецификатором %lf, а не %d
3) условие нельзя задавать в виде "0<=a<1", а нужно в виде "0<=a && a<1"
4) я думаю, что после того, как b посчитано, его всё же нужно вывести на экран? :)))

Код:

#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
  double a,b;
  printf("vvedite a:");  // печатаем приглашение ко вводу
  scanf("%lf",&a);       // запрашиваем значение переменной
  if (0<=a && a<1)       // если введено корректное значение, то считаем формулу
  {
    b=((atan(a/sqrt(1-a*a)))+((log((a*a*a)+3*a+2)))/log(3))/(exp(a*a+3*a+2));
    printf("b=%lf",b);
  }
  else                   // иначе сообщим об ошибке
    printf("neverno vvedeno chislo");
  getch();
}

Ответ отправил: Егор (статус: 10-ый класс)
Время отправки: 5 марта 2010, 07:00
Оценка за ответ: 5

Комментарий к оценке: спасибо)

Мини-форум вопроса

Всего сообщений: 1; последнее сообщение — 4 марта 2010, 22:44; участников в обсуждении: 1.
Паровоз

Паровоз (статус: 10-ый класс), 4 марта 2010, 22:44 [#1]:

Странно, Вам же Егор ответил, что нужно заменить ln на log

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:34
Выполнено за 0.02 сек.