Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не компилится проект на студии 2005 
:(
    Опции темы
prikolist
Дата 12.6.2009, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 19.7.2008

Репутация: нет
Всего: нет



Здравсвуйте программисты! Подскажите пожалуйста, почему у меня не компилится проект, что в нём нужно изменить?
Зараннее благодарен за ответ.
Код

#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const double epsilon = 1e-3;
double f1(double x);
double f2(double x);
double df1(double x);
double df2(double x);
void Kasateln(double (*f) (double),double (*df) (double), double start, double end );

//---------------------------------------------
int main()
{
cout<<"   --------Metod Kasatelnyix---------"<<endl<<endl;
Kasateln(&f1,&df(x),0,2);
Kasateln(&f1,&df(x),0,2);

system("pause");
}
double f1(double x )
{
    return 9.25*pow(x,4)-3*x*x+6.25*x;
}
double f2(double x)
{
return 2*x-log10(x)-7;
}

double df1(double x)
{
return 37*pow(x,3) - 6*x + 6.25;
}

double df2(double x)
{
return 2 - 1/(x*log(10));
}



//для метода касательных нужна производная функции df(x) 
void Kasateln(double (*f) (double),double (*df) (double), double start, double end )
{
double x,xn=start;
do{
        x=xn;
        xn=x-f(x)/df(x);
        }
while(fabs(xn-x)>2*epsilon);
cout << x << endl;;
}



PM MAIL   Вверх
zim22
Дата 12.6.2009, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(prikolist @  12.6.2009,  18:16 Найти цитируемый пост)
! Подскажите пожалуйста, почему у меня не компилится проект

ошибки компиляции есть?


--------------------
PM MAIL   Вверх
Cheloveck
Дата 12.6.2009, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: 5
Всего: 32



Цитата(prikolist @  12.6.2009,  19:16 Найти цитируемый пост)
Kasateln(&f1,&df(x),0,2);
Kasateln(&f1,&df(x),0,2);


Что за параметр в указателе?



--------------------
user posted image
PM Jabber   Вверх
andrew_121
Дата 12.6.2009, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(prikolist @  12.6.2009,  18:16 Найти цитируемый пост)
почему у меня не компилится проект, что в нём нужно изменить?

Это знаешь только ты и компилятор.
Отчет компилятора покажи.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
prikolist
Дата 14.6.2009, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 19.7.2008

Репутация: нет
Всего: нет



Выдало такие ошибки,когда написал вот такой код.
Код

#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const double epsilon = 1e-3;
double f1(double x);
double f2(double x);
double df(double x);
double df(double x);
void Kasateln(double (*f) (double),double (*df) (double), double start, double end );

//---------------------------------------------
int main()
{
cout<<"   --------Metod Kasatelnyix---------"<<endl<<endl;
Kasateln(&f1,&df(x),0,2);
Kasateln(&f1,&df(x),0,2);

system("pause");
}
double f1(double x )
{
    return 9.25*pow(x,4)-3*x*x+6.25*x;
}
double f2(double x)
{
return 2*x-log10(x)-7;
}

double df1(double x)
{
return 37*pow(x,3) - 6*x + 6.25;
}

double df2(double x)
{
return 2 - 1/(x*log(10));
}



//для метода касательных нужна производная функции df(x) 
void Kasateln(double (*f) (double),double (*df) (double), double start, double end )
{
double x,xn=start;
do{
        x=xn;
        xn=x-f(x)/df(x);
        }
while(fabs(xn-x)>2*epsilon);
cout << x << endl;;
}





Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  111.jpg 10,02 Kb
PM MAIL   Вверх
Dmi3ev
Дата 14.6.2009, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



16, 17 строки:
Цитата

Kasateln(&f1,&df(x),0,2);
Kasateln(&f1,&df(x),0,2);

х у тебя не объявлен, а ты его юзаешь...

37 cтрока
Код

log(10.0)

потому как 10 это целое, а функция хочет с плавающей точкой...

Это сообщение отредактировал(а) Dmi3ev - 14.6.2009, 22:16


--------------------

PM MAIL   Вверх
prikolist
Дата 14.6.2009, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 19.7.2008

Репутация: нет
Всего: нет



Когда я прописал вот так в самом верху:
Код

double df1(double x);
double df2(double x);


Тогда  выдало,тогда мне вывдало такие ошибки:
Фото ниже:



Это сообщение отредактировал(а) prikolist - 14.6.2009, 22:31

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  111.jpg 19,44 Kb
PM MAIL   Вверх
Dmi3ev
Дата 14.6.2009, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1698
Регистрация: 28.11.2007

Репутация: 13
Всего: 41



prikolist, ты немного не догоняешь, давай попунктно
1) у тебя есть функция
Цитата

double df(double x);

в нее передается параметр х
а в функции main про х ничего не известно
Цитата

int main()
{
cout<<"   --------Metod Kasatelnyix---------"<<endl<<endl;
Kasateln(&f1,&df(x),0,2);
Kasateln(&f1,&df(x),0,2);
system("pause");
}

те грубо говоря, тебе надо перед вот этим делом
Цитата

Kasateln(&f1,&df(x),0,2);
Kasateln(&f1,&df(x),0,2);

инициализировать х...
те написать, например 
Код

double x=0.1;

и еще, почему у тебя две одинаковых
Цитата

double df(double x);
double df(double x);

и
Цитата

Kasateln(&f1,&df(x),0,2);
Kasateln(&f1,&df(x),0,2);

во втором случае в этом еще может быть смысл, а вот в первом... хз...


--------------------

PM MAIL   Вверх
prikolist
Дата 14.6.2009, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 19.7.2008

Репутация: нет
Всего: нет



Когда записал вот так код, выдало одну ошибку и всё. Ошибка вот такая.
error C2065: 'x': undeclared identifier 

Код


#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const double epsilon = 1e-3;
double f1(double x);
double f2(double x);
double df1(double x);
double df2(double x);
void Kasateln(double (*f) (double),double (*df) (double), double start, double end );

//---------------------------------------------
int main()
{
cout<<"   --------Metod Kasatelnyix---------"<<endl<<endl;
Kasateln(&f1,&df1(x),0,2);
Kasateln(&f1,&df2(x),0,2);

system("pause");
}
double f1(double x )
{
    return 9.25*pow(x,4)-3*x*x+6.25*x;
}
double f2(double x)
{
return 2*x-log10(x)-7;
}

double df1(double x)
{
return 37*pow(x,3) - 6*x + 6.25;
}

double df2(double x)
{
return 2 - 1/(x*log(10.0));
}



//для метода касательных нужна производная функции df(x) 
void Kasateln(double (*f) (double),double (*df) (double), double start, double end )
{
double x,xn=start;
do{
        x=xn;
        xn=x-f(x)/df(x);
        }
while(fabs(xn-x)>2*epsilon);
cout << x << endl;;
}



Добавлено через 9 минут и 6 секунд
...
int main()
{
cout<<"   --------Metod Kasatelnyix---------"<<endl<<endl;
Kasateln(&f1,&df1,0,2);
Kasateln(&f1,&df2,0,2);
...

Когда изменил вот это, тогда выдало результат 2 нуля.
PM MAIL   Вверх
ISergeyN
Дата 16.6.2009, 00:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 11.10.2008
Где: Україна

Репутация: 2
Всего: 2



prikolist, вы всем зае*(заездили) мозги здесь -> http://www.programmersforum.ru/showthread.php?t=54341, а теперь решили тут.
PM MAIL Skype   Вверх
Ganjubass
Дата 16.6.2009, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.2.2009

Репутация: нет
Всего: нет



написал бы формулы про што расчитывать , а так вот те параметры задаются в переменных 
start ,end
Цитата

//#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const double epsilon = 1e-3;
double f1(double x);
double f2(double x);
double df1(double x);
double df2(double x);
void Kasateln(double (*f)(double),double (*df)(double), double start, double end );

//---------------------------------------------
int main()
{
cout<<"   --------Metod Kasatelnyix---------"<<endl<<endl;

Kasateln(f1,df1,2,4);
Kasateln(f2,df2,2,2);

system("pause");
return 0;
}
double f1(double x )
{
    return 9.25*pow(x,4)-3*x*x+6.25*x;
}
double f2(double x)
{
return 2*x-log10(x)-7;
}

double df1(double x)
{
return 37*pow(x,3) - 6*x + 6.25;
}

double df2(double x)
{
return 2 - 1/(x*log(10));
}



//для метода касательных нужна производная функции df(x) 
void Kasateln(double (*f)(double),double (*df)(double), double start, double end )
{
double x,xn=start;
do{
        x=xn;
        xn=x-f(x)/df(x);//счаз тут вызываются функции которые ты передал в Kasateln()
        }
while(fabs(xn-x)>2*epsilon);
cout << x << endl;;
}


Добавлено через 3 минуты и 36 секунд
Цитата

//#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
const double epsilon = 1e-3;
double f1(double x);
double f2(double x);
double df1(double x);
double df2(double x);
void Kasateln(double (*f)(double),double (*df)(double), double start, double end );

//---------------------------------------------
int main()
{
cout<<"   --------Metod Kasatelnyix---------"<<endl<<endl;

Kasateln(f1,df1,2,4);
Kasateln(f2,df2,2,2);

system("pause");
return 0;
}
double f1(double x )
{
    return 9.25*pow(x,4)-3*x*x+6.25*x;
}
double f2(double x)
{
return 2*x-log10(x)-7;
}

double df1(double x)
{
return 37*pow(x,3) - 6*x + 6.25;
}

double df2(double x)
{
return 2 - 1/(x*log(10));
}



//для метода касательных нужна производная функции df(x) 
void Kasateln(double (*f)(double),double (*df)(double), double start, double end )
{
double x,xn=start;
do{
        x=xn;
        xn=x-f(x)/df(x);
        }
while(fabs(xn-x)>2*epsilon);
cout << x << endl;;
}



Добавлено через 11 минут и 52 секунды
сьмсл тут в следующем :
функции 
Цитата

void Kasateln(double (*f)(double),double (*df)(double), double start, double end );

передаются адреса любых функций и она сама их вызывает 
Цитата

void Kasateln(double (*f)(double),double (*df)(double), double start, double end )
{
....
        xn=x-f(x)/df(x);
......
}

PM MAIL   Вверх
Ganjubass
Дата 16.6.2009, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 7.2.2009

Репутация: нет
Всего: нет



#include "stdafx.h" не надо если в Консоли копилировать

Добавлено через 4 минуты и 31 секунду
только тут помоему полная чуш
Цитата

void Kasateln(double (*f)(double),double (*df)(double), double start, double end )
{
double x,xn=start;
do{
        x=xn;
        xn=x-f(x)/df(x);
        }
while(fabs(xn-x)>2*epsilon);
cout << x << endl;
}


кчему тут end передаётся хз
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0933 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.