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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Farsait
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 9
#1

Для данных матриц А и В проверить соотношение А*В=Е - C++

13.01.2010, 20:03. Просмотров 1205. Ответов 8
Метки нет (Все метки)

Для данных 2х матриц А и В проверить соотношение А*В=Е. (посути матрицы квадратные)
Е - единичная матрица, тобиш матрица у которой на главной диагонали единицы (1) а в остальных ячейках нули (0).
Нужен именно програмный код, но если можно не откажусь от блоксхемы к этому програмному коду))

Зараннее премного благодарю людей которые окажут помощь в решении))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2010, 20:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для данных матриц А и В проверить соотношение А*В=Е (C++):

Для матриц I=2P-E, где Е-единичная матрица,а Р=Р(n,n), проверить св-во I^2=Е.При помощи метода Гаусса решить СЛАУ Ix=y, где вектор состоит из единиц. - C++
Добрый день!Помогите пожалуйста с решением данной задачи: Задание: Необходимо написать и отладить программу в среде Borland C++ 3.1 по...

Проверить результат умножения матриц - C++
Здравствуйте! Снова решил сдать задачу на сайте Дистанционная подготовка. Но программа не проходит по времени. Помогите, пожалуйста,...

Проверить, принадлежит ли одна из матриц другой - C++
Тема: Функции 11. Пусть даны две произвольные матрицы. Проверить первая из них принадлежит другой.

Проверить ассоциативность при умножении матриц - C++
Делаю лабораторную с дискретной математики. Нужно проверить ассоциативность при умножении матриц. То есть в моем случае: M1* M2 =...

С++ Для трех данных целых чисел проверить, являются ли они тройкой Пифагора - C++
#include <iostream> #include <conio.h> #include <stdio.h> using namespace std; int main () { int x,y,z; ...

Для трех данных целых чисел проверить, являются ли они тройкой Пифагора - C++
Для трех данных целых чисел проверить, являются ли они тройкой Пифагора.

8
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
13.01.2010, 20:32 #2
Что-то в этом духе
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
flag = 0;
for (int i = 0; i < size; i++)
{
    for (int j = 0; i < size; j++)
    {
        if (i==j && (a[i][j]*b[i][j]) != 1)
        {
            flag = 1;
            break;
        }
        if (i!=j && (a[i][j]*b[i][j]) != 0)
        {
            flag = 1;
            break;
        }
    }
}
if (flag)
    cout << "Massiv b ne obratnyi massivy a" << endl;
else
    cout << "Massiv b obratnyi massivy a" << endl;
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.01.2010, 20:48 #3
kazak, Не верный алгоритм.
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
13.01.2010, 21:01 #4
Почему?
0
Farsait
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 9
13.01.2010, 21:38  [ТС] #5
а как будет верно? мне хотябы какойто исходник или блоксхему)
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
13.01.2010, 21:53 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Дошло
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
flag = 0;
mull = 0;
for (int i = 0; i < size; i++)
{
        for (int j = 0; i < size; j++)
        {
            for (int k = 0; k < size; k++)
       {
            mul += a[i][k]*b[k][j];
       }
       if (i==j && mul != 1)
           {
                flag = 1;
                break;
           }
           if (i!=j && mul != 0)
           {
                flag = 1;
                break;
           }
            mul = 0;
        }
}
if (flag)
        cout << "Massiv b ne obratnyi massivy a" << endl;
else
        cout << "Massiv b obratnyi massivy a" << endl;
1
Farsait
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 9
14.01.2010, 02:05  [ТС] #7
воо кулл спс) если ещё предложения помощи по задаче будут рад буду принять. Блоксхемы, другие варианты кода, шота ешо)
кстати нада чтобы код работал на Borland C++ v3.1

Добавлено через 1 час 55 минут
kazak, а как организовать ввод матриц?)

Добавлено через 1 час 2 минуты
Нифига я не разобрался( мне бы поподробнее прогу(
Чтобы начиналась с ввода матрицы.

Добавлено через 52 минуты
а мона организовать чонить типа умножения матриц, а затем проверка полученной матрицы на единичную) было бы очень неплохо)

Добавлено через 4 минуты
кстати нада под Borland C++ v3.1 алгоритм)
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
14.01.2010, 10:19 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот
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
#include <iostream.h>
 
int main()
 
{
   const int size = 3;
   int a[size][size], b[size][size], c[size][size] = {0};
   int flag = 0;
 
   for (int i = 0; i < size; i++)
   {
      for (int j = 0; j < size; j++)
      {
         cout << "Vvedite a[" << i << "][" << j << "]: ";
         cin >> a[i][j];
         cout << "Vvedite b[" << i << "][" << j << "]: ";
         cin >> b[i][j];
      }
   }
   for (int i = 0; i < size; i++)
   {
      for (int j = 0; j < size; j++)
      {
         for (int k = 0; k < size; k++)
         {
            c[i][j] += (a[i][k]*b[k][j]);
         }
      }
   }
   for (int i = 0; i < size; i++)
   {
      for (int j = 0; j < size; j++)
      {
         if (i == j && c[i][j] != 1)
            flag = 1;
         if (i != j && c[i][j] != 0)
            flag = 1;
      }
   }
   if (flag)
      cout << "Massiv b ne obratnyi massivy a" << endl;
   else
      cout << "Massiv b obratnyi massivy a" << endl;
   system("pause");
   return 0;
}
1
Farsait
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 9
14.01.2010, 18:59  [ТС] #9
Ух спс) замечтательный алгоритм)

Добавлено через 9 минут
тока размерность матрицы сделаю вводимой переменной и всё)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2010, 18:59
Привет! Вот еще темы с ответами:

Определить количество элементов матрицы, для которых выполняется соотношение a[i][j]=a[j][i] - C++
вот прога : #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;locale&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt; using namespace std; ...

Рекуррентное соотношение для вычисления n члена ряда и суммы n членов - C++
Записать рекуррентное соотношение для вычисления n члена ряда и суммы n членов. Используя полученные соотношения, составить программу...

Найти все четырехзначные числа КLMN для которых выполняется соотношение:КL-МN=К - C++
Написать программу, которая находит все четырехзначные числа КLMN.где К,L, М, N - различные цифры, для которых выполня*ется...

Для одномерного целочисленного массива найти количество и процентное соотношение отрицательных элементов - C++
Люди добрые, помогите! Для одномерного целочисленного массива из 10 элементов найти количество и процентное соотношение отрицательных...


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

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

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