С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/44: Рейтинг темы: голосов - 44, средняя оценка - 4.89
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
1

Вычисление матриц

12.10.2010, 22:02. Показов 8128. Ответов 33
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вычислить
Миниатюры
Вычисление матриц  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2010, 22:02
Ответы с готовыми решениями:

Вычисление степени матрицы, вычисления произведения двух матриц, вычисление суммы двух матриц
Здравствуйте, помогите решить, пожалуйста: Заданы две квадратные матрицы А и В. Вычислить матрицу...

Обход матриц и вычисление значений
#include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int main() {...

Обход матриц и вычисление значений
Дана квадратная матрица порядка n. Найти наибольший ее элемент, расположенный в заштрихованной...

Вычисление произведения матриц (не проходит по времени)
Заданы две целочисленные матрицы A и B. Матрица A состоит из N строк и M столбцов, Матрица B...

33
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
12.10.2010, 23:58 2
Могу скинуть исходник, там есть транспонирование, умножение.
1
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
13.10.2010, 00:01  [ТС] 3
спасибо, но можете сделать очень прошу?=)
0
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
13.10.2010, 00:05 4
На когда надо?
1
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
13.10.2010, 00:18  [ТС] 5
на завтра=(((
0
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
13.10.2010, 00:22 6
На завтра никак, нету время.

Добавлено через 1 минуту
Почему раньше не выложили заданее?
1
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
13.10.2010, 00:22  [ТС] 7
а когда сможеш?

Добавлено через 40 секунд
Сегодня только дали... Что то придумаю, к пятнице сделаете?
0
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
13.10.2010, 00:24 8
Если никто не зделает раньше, тогда к пятнице.
1
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
13.10.2010, 00:24  [ТС] 9
хорошо=)
0
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.10.2010, 17:48 10
Лучший ответ Сообщение было отмечено как решение

Решение

Может кто лутше вариант посоветует

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <iostream>
#include <ctime>
 
using std::cout;
using std::cin;
using std::endl;
 
 void output (int **arr, int size)// функция вывода матриц
 {
     for(int i=0; i<size; i++)
     {
           for(int j=0; j<size; j++)
            {
               cout<<arr[i][j]<<" ";
            }
 
            cout<<endl;
     }
 
 }
 int** mult(int **arr1, int **arr2, int **res, int size) // функция  умножения двух матриц 
 {  
    for ( int i=0; i<size; i++)
      {
        for (int j=0; j<size; j++)
          {
             for (int k=0; k<size; k++)
               {
                  res[i][j] += arr1[i][k] * arr2[k][j];// присвоения результата умножения матрице С
                  
               }
             //cout<<res[i][j]<<"  ";
          }
        //cout<<endl;
       } 
    return res;
 }
 int** trans(int **matr, int **matr_tr, int size) // функция транспонирования матриц 
 {
       for(int i=0; i<size; i++)
          {
            for(int j=0; j<size; j++)
               {
                  matr_tr[i][j]=matr[j][i];
               }
          }
     return matr_tr;
 }
 int** rizn(int **matr1, int **res, int size) //функция вычитания матриц
 {
     for(int i=0; i<size; i++)
     {
         for(int j=0; j<size; j++)
         {
             res[i][j]=res[i][j]-matr1[i][j];
         }
     }
     return res;
 }
 int** mult_ch(int **matr, int **res, int size) //функция умножения матрицы на число
 {
     for(int i=0; i<size; i++)
     {
         for(int j=0; j<size; j++)
         {
             res[i][j]=3*(matr[i][j]);
         }
     }
     return res;
 }
int main ()
{
     srand((unsigned int)time(NULL));
      setlocale( LC_ALL,"Russian" );
     int size,i,j;
     int **A, **B, **C, **At, **temp; //опредиления указателей на матрицы
     cout<<"Введите розмер: ";
         cin>>size;
     A = new int*[size]; //выделение памяти под строки матриц
         B = new int*[size]; 
         C = new int*[size]; 
         At = new int*[size]; 
         temp = new int*[size];
     for(i=0; i<size; i++)
     {
           A[i]= new int[size]; //выделение памяти под столбцы матриц
                   B[i]= new int[size]; 
                   C[i]= new int[size]; 
                   At[i] = new int[size];  
                   temp[i] = new int[size];
         for(j=0; j<size; j++)
           {
               A[i][j]=rand()%5; //заполнение матриц А и В случайными числами
               B[i][j]=rand()%5;
               C[i][j]=0;
               At[i][j]=0;
               temp[i][j]=0;
 
           }
     }
     cout<<"Матрица А:"<<endl;
     output(A,size); //вывод матрицы А
     cout<<endl;
     cout<<"Матрица B:"<<endl;
     output(B,size); //вывод матрицы А
     cout<<endl;
     cout<<"Матрица C:"<<endl;
     mult((trans(A,At,size)),B,C,size); //А^t*B 
     mult_ch((mult(B,B,At,size)),A,size);//3*B^2
     mult((rizn(A,C,size)),B,temp,size);//(A^t-3*B^2)*B
     output(temp,size); //вывод матрицы С
//очистка памяти  
for(i=0; i<size; i++)
    {
      delete A[i], B[i], C[i], At[i];
    }
     delete [] A;
     delete [] B;
     delete [] C;
     delete [] At;
     delete [] temp;     
     system("PAUSE");
     return 0;
}
3
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
14.10.2010, 17:55 11
а если матрицы не квадратные?
0
60 / 60 / 17
Регистрация: 12.10.2010
Сообщений: 129
14.10.2010, 17:59 12
Цитата Сообщение от MILAN Посмотреть сообщение
Может кто лутше вариант посоветует

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 int** mult(int **arr1, int **arr2, int **res, int size) // функция  умножения двух матриц 
 {  
    for ( int i=0; i<size; i++)
      {
        for (int j=0; j<size; j++)
          {
             for (int k=0; k<size; k++)
               {
                  res[i][j] += arr1[i][k] * arr2[k][j];// присвоения результата умножения матрице С
                  
               }
             //cout<<res[i][j]<<"  ";
          }
        //cout<<endl;
       } 
    return res;
 }
Зачем принимать int **res?
1
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
14.10.2010, 18:01  [ТС] 13
Напишиет кто то попроще пожалуста...=)
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
14.10.2010, 18:02 14
Цитата Сообщение от Alston Посмотреть сообщение
Напишиет кто то попроще пожалуста...=)
проще наверно некуда...
0
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.10.2010, 18:02 15
Цитата Сообщение от Unforgiven_00 Посмотреть сообщение
Зачем принимать int **res?
Для того, что бы в res записивать результат умножения!!!
0
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
14.10.2010, 18:03  [ТС] 16
без всяких подключеный руссково языка и тому подобное, переменние нормальние...
0
Эксперт С++
5057 / 3117 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
14.10.2010, 18:11 17
Я когда писал что-то подобное, я примерно так же делал, проще наверное действительно некуда...


Alston, а что вас в переменных не устраивает? что по-вашему "нормальные"? "Подключение русского языка" занимает ровно строчку - вызывается единственная функция... В чём проблема, тоже непонятно...
1
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
14.10.2010, 18:13  [ТС] 18
что значат ети ** нпример **arr1
0
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
14.10.2010, 18:14 19
Цитата Сообщение от Alston Посмотреть сообщение
что значат ети ** нпример **arr1
указатель на матрицу!!!
0
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
14.10.2010, 18:18  [ТС] 20
спасибо
0
14.10.2010, 18:18
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2010, 18:18
Помогаю со студенческими работами здесь

Вычисление средних значений положительных элементов каждой строки матриц
Помогите, пожалуйста, составить поцедуру. Вот задачка: Составбте программу для вычисления...

Вычисление произведения двух матриц (матрицы реализовать в виде динамических массивов)
написать программу для вычисления произведения двух матриц.матрицы реализовать в виде динамических...

Умножение треугольных матриц«Методы обработки разреженных матриц»
Нужно перемножить треугольные матрицы в обычном виде и в свёрнутом. С обычным проблем нет. Доступ...

Возведение матриц в степени, перемножение и сложение матриц
Даны 3-ех элементные вещественные векторы x и y и квадратные матрицы A и B. Вычислить: (A 2 * x,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
Полезные поделки на Arduino, которые можно сделать самому
raxper 06.01.2025
Arduino как платформа для творчества Arduino представляет собой удивительную платформу для технического творчества, которая открывает безграничные возможности для создания уникальных проектов. Эта. . .
Подборка решений задач на Python
IT_Exp 06.01.2025
Целью данной подборки является предоставление возможности ознакомиться с различными задачами и их решениями на Python, что может быть полезно как для начинающих, так и для опытных программистов. . . .
С чего начать программировать микроконтроллер­­ы
raxper 06.01.2025
Введение в мир микроконтроллеров Микроконтроллеры стали неотъемлемой частью современного мира, окружая нас повсюду: от простых бытовых приборов до сложных промышленных систем. Эти маленькие. . .
Из чего собрать игровой компьютер
inter-admin 06.01.2025
Сборка игрового компьютера требует особого внимания к выбору комплектующих и их совместимости. Правильно собранный игровой ПК не только обеспечивает комфортный геймплей в современных играх, но и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru