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

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

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

Умножение 3 матриц - C++

26.09.2011, 21:45. Просмотров 766. Ответов 9
Метки нет (Все метки)

вод код моей процедуру
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
{
GetMatrixA(A);
GetMatrixB(B);
GetMatrixD(D);
for( p= 1; p<=count; p++)
for( j= 1; j<=n; j++)
    {
     C[p][j]= 0;
     for( i= 1; i<=n; i++)
     C[p][j]= C[p][j]+A[p][i]*B[i][j];
    }
   //матрица C(m,k)
//матрица D(n,m)
//E=C*D
for( p= 1; p<=count; p++)
for( j= 1; j<=count; j++)
    {
 
     E[p][j]= 0;
     for( i= 1; i<=n; i++)
     E[p][j]= E[p][j]+C[p][i]*D[i][j];
    }
   for( i= 1; i<=count ; i++)
  for( j= 1; j<=count; j++)
  Matrix_D->Cells[j-1][i-1]= FloatToStrF(E[i][j],ffFixed,5,1);
  }
программа компилируется,но после того как я задаю все значения и жму выполнить,выскакивает ошибка is not a valid floating point value
и выделяет вот эту строчку
C++
1
for( p= 1; p<=count; p++)
В чем может быть проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2011, 21:45     Умножение 3 матриц
Посмотрите здесь:

Умножение матриц - C++
Доброго времени суток:) Помогите пожалуйста в написании программы. Пользователь вводит Матрицу А(размер 2х2) и Матрицу В(размер 2х2). ...

Умножение матриц - C++
помогите сделать задачу: Даны матрицы: А размером m*k и В размером k*n.Получить матрицуС=A*В. Создавайте темы с осмысленными и понятными...

Умножение матриц - C++
Я юзаю Qt, но пишу сюда т.к. он никак не влияет на код (почти) У меня есть две матрицы A и B (размерность обеих 800х800). Чтобы получить...

Умножение матриц - C++
Задача такая : Для заданой квадратической матрицы А заданого порядка n найти произведение А * В, где элементы матрицы В узнаются за...

Умножение матриц - C++
Ребят помогите пожалуйста!!! Требуется написать программку умножения матриц,значения в матрице генерировать случайным образом число...

Умножение матриц - C++
Доброго всем времени суток! Нужна Ваша помощь. Задали сделать задачку на C++ в консоли - умножение матриц 10 на 10 с помощью...

Умножение матриц - C++
Решенная задача на умножение матриц для сборника. Матрицы вводятся с клавиатуры построчно. #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alexandr000006
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 79
26.09.2011, 22:10  [ТС]     Умножение 3 матриц #2
вот сама прога
Вложения
Тип файла: rar Новая папка (6).rar (365.4 Кб, 16 просмотров)
Alexandr000006
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 79
27.09.2011, 15:58  [ТС]     Умножение 3 матриц #3
аналогичный код в делфи работает без проблем
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.09.2011, 16:05     Умножение 3 матриц #4
Для начала индексация в массивах в С начинается с 0.
Alexandr000006
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 79
27.09.2011, 16:08  [ТС]     Умножение 3 матриц #5
всмысле?
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.09.2011, 16:15     Умножение 3 матриц #6
Цитата Сообщение от Alexandr000006 Посмотреть сообщение
for( p= 1; p<=count; p++)
Правильно
C++
1
for (p = 0; p < count; p++)
И потом ошибку вызывает эта функция

Цитата Сообщение от Alexandr000006 Посмотреть сообщение
GetMatrixD(D);
Добавлено через 2 минуты
А судя по описанию ошибки, некорректно отрабатывает преобразование
C++
1
D[i][j]= StrToFloat(Matrix_A->Cells[j-1][i-1]);
Опять же косяк с индексацией.
Alexandr000006
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 79
27.09.2011, 16:19  [ТС]     Умножение 3 матриц #7
спасибо огромное !!!!не заметил
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.09.2011, 16:25     Умножение 3 матриц #8
И косяк с размерами массива, после нажатия кнопки "Задать размер", массивы то меняются, а текущий размер остается тотже, вот в GetMatrixD(D); и получается выход за пределы массива, потому что цикл ориентируется на старый размер массива.
Alexandr000006
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 79
27.09.2011, 16:31  [ТС]     Умножение 3 матриц #9
C++
1
for( p= 1; p<=count; p++)
правильный вариант

Добавлено через 2 минуты
ошибка была ток тут
C++
1
D[i][j]= StrToFloat(Matrix_A->Cells[j-1][i-1]);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2011, 16:37     Умножение 3 матриц
Еще ссылки по теме:

Умножение матриц - C++
Мне нужно перемножить матрицы скажите что не провильно,почему она не работает for (int i=0; i&lt; StrToInt(Edit1-&gt;Text);i++) for (int...

Умножение матриц - C++
Найти произведение k квадратных матриц А1*А2*...Аk. Процедура: вычисление произведения двух матриц.

Умножение матриц - C++
Ошибка: не хочет умножать. c=c+a*b; int **mat(int n){ int **matrix; matrix=new int *; for (int i=0; i&lt;2; i++) ...

Умножение матриц - C++
Здравствуйте, у меня простая прога для умножения матриц относительно произвольных размеров (&lt;100x100) #include &lt;iostream&gt; #include...

Умножение матриц - C++
int **calculation3(int **mat1,int **mat2,int q,int e,int w,int t){ int m,ww=0,x,z; for(x=0;x&lt;q;x++){ for(z=0;z&lt;w;z++){ ww=0;...


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

Или воспользуйтесь поиском по форуму:
kazak
3033 / 2354 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
27.09.2011, 16:37     Умножение 3 матриц #10
Цитата Сообщение от Alexandr000006 Посмотреть сообщение
правильный вариант
А плин, это StringGrid.

Добавлено через 4 минуты
Но еще используется обычный массив типа double, для него индексация начинается с нуля. Тут нужно быть внимательным.
Yandex
Объявления
27.09.2011, 16:37     Умножение 3 матриц
Ответ Создать тему
Опции темы

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