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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема в присвоении члена структуры, квик хелп 
V
    Опции темы
Akeem
Дата 5.11.2006, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

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



НЕ знаю была ли такая тема. если бы ла то извините. просто небыло времени всё пролистать. Поиск ничего не дал!

Народ помогите или подскажите решение проблемы! 

у меня написана функция которая возвращает результат некоторой опреации с значениями в членах структуры.

Это выглядит приблизительно так:

Код

struct Coordinat
{
    float x;
    float y;
    float bias;
};
.......................................


double NNetwork::GetNorm(Coordinat vector,Coordinat Ave)
{
 double res;
 double x1 = (vector.x); //вот здесь возникает ошибка
 double x2 = (vector.y); //ну дальше она наверняка повторится
 double a1 = (Ave.x);
 double a2 = (Ave.y);
    res = (x1-a1)*(x1-a1)+(x2-a2)*(x2-a2);
        return res;
}


Мне говорили что это связано с непониманием компилятора операции обращении к члену структуры.

Ошибка которая возникает такая:
Код

---------------------------
Debugger Exception Notification
---------------------------
Project Lab2is.exe raised exception class EInvalidOp with message \'Invalid floating point operation\'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------


Плиз помогите. Модеры не сильно бейте. Давно бьюсь над этой ошибкой.


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

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


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

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



Akeem,
Какой компилятор?
Зачем так много скобок?
Ошибка, судя по сообщению, в преобразовании float к double.
PM MAIL WWW   Вверх
Akeem
Дата 5.11.2006, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

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



вообще при этом не должна возникать ошибки. тут используется неявное преобразование типов.

Ошибка возникает видно из-за того что тут используется точка как оператор обращения к члену структуры.


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

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


Эксперт
***


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

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



Цитата
Invalid floating point operation
Неверная операция с плавающей точкой.

Akeem, т.к. класса NNetwork у меня нет, я сделал так:
Код

struct Coordinat
{
    float x;
    float y;
    float bias;
};

double GetNorm(Coordinat vector, Coordinat Ave)
{
 double res;
 double x1 = (vector.x); 
 double x2 = (vector.y); 
 double a1 = (Ave.x);
 double a2 = (Ave.y);
    res = (x1-a1)*(x1-a1)+(x2-a2)*(x2-a2);
        return res;
}


int main(void)
{

return 0;
}
Никаких ошибок.

А если у тебя возникают ошибки, то замени float на double
Код
{
    double x;
    double y;
    double bias;
};
Может быть поможет.

Добавлено @ 18:50 
Покажи, что такое NNetwork.


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Akeem
Дата 5.11.2006, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

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



вообще при этом не должна возникать ошибки. тут используется неявное преобразование типов.

Ошибка возникает видно из-за того что тут используется точка как оператор обращения к члену структуры.

Добавлено @ 18:55 
NNetwork -- это клас в котором эта функция описана. Служит для построения  многонейронной сети на основе РБФ!

Смысл в том что разница между double & foat не значительна. Просто разные диапазоны значений.


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
vinter
Дата 5.11.2006, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


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

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



vector это зарезервированное слово, возможно проблемы с этим..
Цитата

Смысл в том что разница между double & foat не значительна. Просто разные диапазоны значений.

у char и int тоже ПРОСТО разные диапазоны значений smile , всегда делай явное преобразование типов..


--------------------
Мой блог
PM MAIL WWW   Вверх
Akeem
Дата 5.11.2006, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

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



NNetwork -- это клас в котором эта функция описана. Служит для построения  многонейронной сети на основе РБФ!

Смысл в том что разница между double & foat не значительна. Просто разные диапазоны значений.


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
Akeem
Дата 5.11.2006, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

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



Убрал ошибку в одном месте возникла в другом!

Я делал и явное преобразование и делал члены того же типа данных!

Это сообщение отредактировал(а) Akeem - 5.11.2006, 21:05


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
vinter
Дата 5.11.2006, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


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

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



Цитата

Убрал ошибку в одном месте возникла в другом!

какую убрал, какая возникла?? тут телепатов нет(наверно  smile )


--------------------
Мой блог
PM MAIL WWW   Вверх
JackYF
Дата 6.11.2006, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

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



У меня никакой ошибки не выдало... 

Проверь еще на инициализацию структуры перед передачей их в функции...


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Akeem
Дата 19.11.2006, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

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



Уже всё работает. Глюки какие то были. Я проверил прогу на Солярисе. там работает.


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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