Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 12.01.2013, 16:56   #1
приправыч
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 12
По умолчанию Нужно переделать код с С# на С

Помогите, пожалуйста. Не обязательно целиком код, а в целом, что на что поменять нужно.
Код:
class Program
      {
        static double f(double x)//наша функция
        {
                return Math.Log(x + 7);
        }
        static double f_(double x)//производная функции, сделано для удобства поиска q
        {
          return 1 / (x+7);
        }
        static void Main(string[] args)
        {
          double x0, e, q;
          int counter = 0;
          x0 = double.Parse(Console.ReadLine());//введём равный a
          e = double.Parse(Console.ReadLine());
          q = f_(x0);
          while (Math.Abs(f(x0)-x0) > e*(1-q)*q)
          {
            counter++;
            x0 = f(x0);
          }
          Console.WriteLine('\n' + "{0}" + '\n' + "Steps: {1}", x0, counter);
          Console.ReadKey();
        }
      }
приправыч вне форума
Старый 12.01.2013, 17:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Все. Ничего из этого под плюсы не подойдет.
Код:
        double f(double x)//наша функция
        {
                return Log(x + 7);
        }
Код:
          double x0, e, q;
          int counter = 0;
          scanf("%f",&x0)scanf("%f",&e)
          q = f_(x0);
          while (abs(f(x0)-x0) > e*(1-q)*q)
          {
            counter++;
            x0 = f(x0);
          }
          printf("\n%f'\n'Steps: %d", x0, counter);
          getchar();
I'm learning to live...
Stilet вне форума
Старый 12.01.2013, 17:59   #3
приправыч
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 12
По умолчанию

Спасибо, вот код:
Код:
#include <stdio.h>
#include <math.h>

 double f(double x)//наша функция
        {
          return Log(x)+1.8;
        }
 double f_(double x)//производная функции, сделано для удобства поиска q
        {
          return (1/x);
        }

int main()
{
double x0, e, q;
          int counter = 0;
          x0=2;
          e=0.00001;
          q = f_(x0);
          while (abs(f(x0)-x0) > e*(1-q)*q)
          {
            counter++;
            x0 = f(x0);
          }
          printf("\n%f'\n'Steps: %d", x0, counter);
          getchar();
}
Пытаюсь скомпилировать (gcc iter.c -lm) и вот что выдает:
/tmp/cccrdfkp.o: In function `f':
iter.c.text+0x19): undefined reference to `Log'
collect2: выполнение ld завершилось с кодом возврата 1
приправыч вне форума
Старый 12.01.2013, 18:35   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
undefined reference to `Log'
Язык Си - регистрозависим. Иди в хелп, и смотри как правильно пишется функция логарифма: http://ru.wikipedia.org/wiki/Math.h
I'm learning to live...
Stilet вне форума
Старый 12.01.2013, 18:35   #5
savra
search money
Пользователь
 
Регистрация: 12.10.2009
Сообщений: 46
По умолчанию

log с маленькой буквы

Вот так

double f(double x)//наша функция
{
return log(x)+1.8;
}
savra вне форума
Старый 12.01.2013, 18:41   #6
приправыч
Пользователь
 
Регистрация: 04.12.2012
Сообщений: 12
По умолчанию

Спасибо большое вам!
приправыч вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переделать код Frank63 Паскаль, Turbo Pascal, PascalABC.NET 1 05.11.2012 15:45
Получать каптчу (картинку) не по ссылке, а из браузера - нужно переделать код scroyler Работа с сетью в Delphi 11 10.02.2012 20:33
НУЖНО переделать код из Pascal в Delphi Len4i]{ Помощь студентам 7 06.06.2010 18:35
Переделать код Hepri Работа с сетью в Delphi 3 20.08.2009 20:28
Нужно переделать код с Delphi на C++ Builder POPOV Помощь студентам 2 12.11.2007 22:51