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

Вычитание матриц в квадрате - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти в строке элементы с максимальным и минимальным значениями и поменять их местами http://www.cyberforum.ru/cpp-beginners/thread1557621.html
Помогите пожалуйста составить схему алгоритма, который найдет в строке элементы с максимальным и минимальным значениями, если минимальный находится правее, то поменяет его с максимальным
C++ Оставить без изменения последовательность, если она упорядочена Даны целые числа а1...аn, где n - целое положительное число (n<=100). Оставить без изменения последовательность, если она упорядочена по неубыванию или невозрастанию; в противном случае удалить из последовательности все члены, порядковые номера которых кратны четырем, сохранив прежним порядок остальных членов. Добавлено через 1 час 55 минут help http://www.cyberforum.ru/cpp-beginners/thread1557608.html
Создание объекта класса в switch C++
switch (c) {case 1: man a; break; Как создать объект класса в switch? switch не хочет и выдает ошибку. Или как это заменить?
Перенести последнюю букву слова в начало С++ C++
Дан текст. Словом текста считается любая последовательность букв алфавита; между соседними словами - не менее одного пробела. Перед первым и за последним словом каждой строки произвольное число пробелов. Перенести последнюю букву каждого слова в его начало. Нужно с помощью текстовых файлов
C++ Формирование двумерного массива http://www.cyberforum.ru/cpp-beginners/thread1557563.html
массив данных А размерностью M на N задан пользователем с клавиатуры вместе с параметром M и N. Кроме того задан одномерный массив P размерностью N. Сформировать двумерный массив B из массива A, располагая в нём столбцы массива A в порядке, заданным массивом P, при этом порядок элементов в столбцах заменить противоположным, то есть первый элемент должен стать последним, второй предпоследним и так...
C++ Компиляция Всем привет. При компиляции в Visual studio 2015 мне выводит ошибку "LNK1112 тип компьютерного модуля "x64" противоречит типу целевого компьютера "X86"" объясните чайнику как можно подробнее как это можно решить подробнее

Показать сообщение отдельно
SuperKir
103 / 103 / 58
Регистрация: 10.03.2015
Сообщений: 444
20.10.2015, 23:51     Вычитание матриц в квадрате
А как, собственно, ты собираешься вычитать матрицы разной размерности?

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
#include "stdafx.h"
#include "iostream"
#include "ctime"
 
using namespace std;
 
int **CreatMatrix(int);
void Print(int**, int);
int **SqrMatr(int**, int);
void Sub(int**, int**, int, int);
 
int main()
{
    srand(time(0));
    int n, m;
    cin >> n >> m;
    int **a = CreatMatrix(n);
    int **b = CreatMatrix(m);
    Print(a, n);
    Print(b, m);
    a = SqrMatr(a, n);
    b = SqrMatr(b, m);
    Print(a, n);
    Print(b, m);
    Sub(a, b, n, m);
    system("pause");
    return 0;
}
 
int **CreatMatrix(int size)
{
    int **buf = new int*[size];
    for (int i = 0; i < size; i++)
    {
        buf[i] = new int[size];
        for (int j = 0; j < size; j++)
            buf[i][j] = rand() % 10;
    }
    return buf;
}
 
void Print(int **matr, int size)
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
            cout << matr[i][j] << " ";
        cout << endl;
    }
    cout << "\n\n";
}
 
int **SqrMatr(int **matr, int size)
{
    int **buf = new int*[size];
    for (int i = 0; i < size; i++)
    {
        buf[i] = new int[size];
        for (int j = 0; j < size; j++)
        {
            buf[i][j] = 0;
            for (int k = 0; k < size; k++)
                buf[i][j] += (matr[i][k] * matr[k][j]);
        }
    }
    return buf;
}
 
void Sub(int **matrA, int **matrB, int size1, int size2)
{
    if (size1 != size2) cout << "Matrix A size != Matrix B size, subtraction impossible" << endl;
    else
    {
        int **buf = new int *[size1];
        for (int i = 0; i < size1; i++)
        {
            buf[i] = new int[size1];
            for (int j = 0; j < size1; j++)
            {
                buf[i][j] = matrA[i][j] - matrB[i][j];
                cout << buf[i][j] << " ";
            }
            cout << endl;
        }
    }
}
 
Текущее время: 10:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru