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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
#1

не работает умножение на 0 - C++

03.05.2012, 22:19. Просмотров 513. Ответов 5
Метки нет (Все метки)

вместо 0 выдает -1,25549e+067
почему такое происходит не могу понять, подскажите как исправить
часть кода где идет умновдение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
     for (int i = 1; i <= N-r; i++)
        {
          for (int j = 1; j <= N-r; j++)
          {
            if(i==N-r){if(j==N-r){
            
                    for(int k=j+1; k<N; k++)
                    {
                        cout << U[j][k] <<"         "<<x[k][j]<<endl;
                        z += U[j][k]*x[k][j];
                        cout << z <<endl;
                    }
                    x[j][j]=(1 - z)/U[j][j];
            cout << x[j][j] <<endl;
            }
      }}
         }
Добавлено через 1 минуту
в 10 строке U=0, а x=0.166667 - по условию
а при умножение получаем z=-1,25549e+067
не могу понять в чем ошибка
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2012, 22:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не работает умножение на 0 (C++):

Задано 4 матрицы. Провести сложение, умножение, умножение на число - C++
Задано 4 матрицы A,B,C,D размером 4х4.Вычеслить такие матрицы: F,G,T. G=3/4 A+B F=B*(2D) T=c/5

Класс Квадратная матрица. Методы: умножение на матрицу, умножение на константу, вывод элементов матрицы на дисплей - C++
Задание: Класс «Квадратная матрица». Методы: умножение на матрицу, умножение на константу, вывод элементов матрицы на дисплей. Нужно...

Сложение не работает, а умножение - работает - JavaScript
Здраствуйте, расскажу по порядку. У меня есть страница сайта, на которой при выборе какого то значения в combobox, высвечивается...

Умножение матриц работает некорректно - C (СИ)
Что не так в этом коде? Вроде же все правильно. Суммируется нормально, а вот умножение...Бывает записывает огромные числа. #include...

Почему не работает умножение больших чисел? - Python
def append_to_zero(L, v): L.append(0) i = len(L) - 1 while i &gt; 0: L = L i -= 1 L = v return L def Add(pa,...

Умножение НЕквадратных матриц (не работает код) - C++ Builder
1) делал умножение матриц, где число строк и столбцов одинаковое кол-во, работает, но только с целыми числами , но работает, считает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
OlegLvovskyj
9 / 9 / 2
Регистрация: 02.12.2010
Сообщений: 66
03.05.2012, 22:34 #2
значить U[j][k] не дорівнює 0. попробуй вивести значення масивів на екран шоб впевнитись які значення реально вони мають
White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
03.05.2012, 22:42  [ТС] #3
0 это реальное значение U я уже выводила
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
03.05.2012, 22:42 #4
White Luna,
1. чему равно z ?
2. чем заполнен U ?
3. эта конструкция тоже ведь не просто так...:
C
1
2
                    x[j][j]=(1 - z)/U[j][j];
            cout << x[j][j] <<endl;
Если все элементы U равны нулю то должно произойти исключение.
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
03.05.2012, 22:43 #5
вы не присваиваете z новое значение, а прибавляете к старому новое(и по всей видимости изначально z<>0).
C++
1
2
3
z += U[j][k]*x[k][j];
тоже, что и 
z = z + U[j][k]*x[k][j];
попробуйте заменить на
C++
1
z = U[j][k]*x[k][j];
White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
03.05.2012, 22:56  [ТС] #6
извините уже решила проблему

Добавлено через 31 секунду
первоначально х занулила
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2012, 22:56
Привет! Вот еще темы с ответами:

Программа не работает корректно . Output\Input . Египетское умножение - Pascal
Здравствуйте ! Хотел бы у вас спросить, что я делаю не так? В файле output ничего не выводит . Буду очень благодарен, кто сможет помочь ! ...

Умножение матриц (с обычными массивами работает, а с динамическими нет) - Fortran
Написал программу по умножению матриц, вот она: program umnozhen real*8 a(1:50,1:50),b(1:50,1:50),c(1:50,1:50) integer*4...

Скалярное умножение векторов(Ассоциативность,Коммутативность,Умножение с пустым знаком) - Дискретная математика
Помогите проверить операцию &quot;скалярное произведение векторов&quot; на Ассоциативность,Коммутативность и умножение с пустым знаком

Умножение матриц (не работает для неквадратных матриц) - C (СИ)
Доброго времени суток. Написал код для перемножения двух матриц. При вводе квадратной матрицы всё работает нормально. При вводе матриц с...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.05.2012, 22:56
Ответ Создать тему
Опции темы

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