Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
garik_saper
0 / 0 / 0
Регистрация: 14.11.2010
Сообщений: 4
#1

invalid floating point operation - C++

21.11.2010, 03:40. Просмотров 825. Ответов 5
Метки нет (Все метки)

помогите решить вот такую вот задачу:

Коэффициенты системы линейных уравнений заданы в виде квадратной матрицы. С помощью допустимых преобразований привести матрицу к треугольному виду.
Найти количество строк, среднее арифметическое которых меньше заданной величины.
т.е. надо из матрицы
1 2 3
1 4 10
1 8 32
получить следующую матрицу
1 2 3
0 2 7
0 0 4

в выделенной строке выдает ошибку

invalid floating point operation

помогите пожалуйста, а то я не понимаю что делать

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
 
int main(int argc, char* argv[])
{
   int N;
   int i, j;
   int kol = 0;
   double sum = 0;
 
   // задание в качестве первого числа последовательности текущего времени
   srand(time(NULL));
 
   cout << "Enter dimension of a array" << endl;
   cin >> N;
 
   double **Array = new double*[N];
   for( i = 0; i < N; i++ )
   {
      Array[i] = new double[N];
   };
 
   double min;
   cout << "Threshold value is " << endl;
   cin >> min;
 
 
 
   for(i = 0; i < N; i++)
   {
      for(j = 0; j < N; j++)
      {
        // Генерация элементов в диапазоне от -250 до 250
        Array[j][i] = (rand()%31 - 15);
        cout << "a[" << j+1 <<"][" << i+1<< "]= " <<Array[j][i]<<'\t';
        sum += Array[j][i]/N;
      }
      cout << endl;
      if (sum <= min)
         kol++;
      sum = 0;
   }
 
   for(i = 0; i < N-1; i++)
   {
      for( j = i; j < N; j++)
      {
         if(Array[i][i] != 0)
         {
            for(int k = 0; k < N; k++)
            {
[B][COLOR="Black"]               Array[j][k] = (long double)Array[j][k] *(1-(Array[j][i])*1.0/(Array[i][i]));[/COLOR][/B]
            }
         }
      }
   }
   for(i = 0; i < N; i++)
   {
      for(j = 0; j < N; j++)
      {
        cout << "a[" << j+1 <<"][" << i+1<< "]= " <<Array[j][i]<<'\t';
      }
      cout << endl;
   }
 
   for(i = 0; i < N; i++ ) {
        delete [] Array[i];
   }
   delete [] Array;
 
   getchar();
   getchar();
 
   return 0;
}
 
 
//---------------------------------------------------------------------------
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2010, 03:40     invalid floating point operation
Посмотрите здесь:

Invalid floating point operation - C++ Builder
определяю массивы, заполняю нулями: float B1, B2; for(int i=0;i&lt;200;i++) {B1=0, B2=0;} В ходе работы программы массивы...

Invalid floating point operation - C++ Builder
Как отладить такую ошибку? В функции достаточно много различных вычислений, на ее вход каждый такт подаются разные данные. И ~ раз в 500...

Invalid floating point operation в Builder 6.0 - C++ Builder
Здравствуйте. У меня проблема. Несколько месяцев назад делал программы для диплома в Borland C++ Builder 6.0. Потом удалил его. Сейчас...

Float - Invalid floating point operation - C++ Builder
есть функция float TForm1::Calc( float f2, float f1, float f3, float f4, float C2, float af2, float pc2, float pc1, float pc3, float pc4...

Ошибка 'invalid floating point operation' - C++ Builder
Здравствуйте. сделал задачу, при вводе значения &quot;0&quot; выдает ошибку, и выкидывает с программы. с чем это связанно? не могу понять. вроде всё...

Объясните ошибку - Invalid floating point operation - C++ Builder
Invalid floating point operation что это за ошибка???? очень нужно!!

Ошибка invalid floating point operation в cppWebBrowser - C++ Builder
Добрый день! Столкнулся с появлением ошибки &quot;invalid floating point operation&quot; при выполнении кода WideString ttt; ttt =...

Invalid floating point operation при работе с массивами - C++
Ввожу целочисленный и float массив. При поиске минимального значения массива float, выскакивает ошибка invalid floating point operation. С...

Invalid Floating Point Operation при выводе графика - C++ Builder
Привет и доброго времени суток. вообщем создавая курсовую прогу, она считает изгиб и прогибы всякие для цилиндрической облочки ,...

Invalid floating point operation при попытке нарисовать график - C++ Builder
Возникла следующая проблема: По непонятной мне причине на строке ...

Invalid point operation с преобразованием даты - C++ Builder
Использую в программе своей Zip Forge. Хочу задать Имя архива как показано в туторах, и билдер сходит с ума. Выводит ошибку &quot;Invalid point...

Ошибка invalid floating point при нажатии на кнопку - C++ Builder
Программа запускается, но при нажатии на кнопку появляется ошибка &quot;invalid floating point operation&quot;. И ругается он именно на строку...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
freest
Українець
417 / 311 / 4
Регистрация: 26.09.2009
Сообщений: 844
21.11.2010, 03:54     invalid floating point operation #2
мб, деление на ноль?
garik_saper
0 / 0 / 0
Регистрация: 14.11.2010
Сообщений: 4
21.11.2010, 11:22  [ТС]     invalid floating point operation #3
так где это деление на ноль, я кажись проверяю равняется ли это число нулем или нет
volovzi
267 / 169 / 8
Регистрация: 14.03.2010
Сообщений: 501
21.11.2010, 13:00     invalid floating point operation #4
Странно, что тебе выдают такую ошибку, потому что с даблами можно как угодно работать. Судя по результату, у тебя там не просто деление на ноль (выдавалось бы "inf" или "-inf"), а деление нуля на ноль (выдаётся "nan"). Какой компилятор?

Но ошибка в логике программы действительно есть.
garik_saper
0 / 0 / 0
Регистрация: 14.11.2010
Сообщений: 4
21.11.2010, 16:40  [ТС]     invalid floating point operation #5
да действительно там деление на ноль =(
у меня вложенный цикл потом изменяет значение элемента массива, а я так долго мучался =(
немного с математикой ступил =)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   for(i = 0; i < N-1; i++)
   {
      for( j = i+1; j < N; j++)
      {
         if(Array[i][i] != 0)
         {
            long double koef = Array[i][j]/Array[i][i];
            for(int k = 0; k < N; k++)
            {
               Array[k][j] -= Array[k][i]*koef;
            }
         }
      }
   }
freest
Українець
417 / 311 / 4
Регистрация: 26.09.2009
Сообщений: 844
21.11.2010, 23:09     invalid floating point operation #6
Незачто=)
Yandex
Объявления
21.11.2010, 23:09     invalid floating point operation
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru