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

Определить, может ли при перестановке строк одной матрицы получится вторая - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужен пример отправки get и post запросов http://www.cyberforum.ru/cpp-beginners/thread342195.html
ребят покажите пример отправки пост и гет запросов на сайт работаю на mvs2010 Добавлено через 11 минут strcpy(query,"GET /"); strcat(query, http_path); strcat(query," HTTP/1.0\nHost: "); strcat(query, http_host); strcat(query,"\nUser-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); strcat(query,"\nAccept: */*\n\n"); вроде как то так
C++ Помогите с программой Не знал куда закинуть, поэтому тут. На http://www.********/?main=task&id_task=21 задачка. Решал, решал и не решил. Вот мой код: #include <fstream> using namespace std; int main() { ifstream inputf("INPUT.TXT"); ofstream outputf("OUTPUT.TXT"); http://www.cyberforum.ru/cpp-beginners/thread342191.html
string в int C++
народ подскажите пожалуйств как строку в число перевести? например string в int
С чего начать изучать C++ C++
С чего начать изучать C++ желательно книгу попроще так как мне 12 лет. P.S Решение не оспаривать хочу попробовать P.S.S Работаю в Visual C++ Express
C++ Перегрузка оператора += http://www.cyberforum.ru/cpp-beginners/thread342118.html
Создал класс дробь. Пытаюсь перегрузить оператор += (или -=, *=, /=) А компилятор выдаёт ошибку 'drob operator+=(drob&)' must take exactly two arguments class drob { private: int numerator, denominator; void reduce(); public: drob(int n = 1, int d = 1);
C++ Обработка исключений и ошибок Я недавно начал изучать обработку ошибок try catch. И сразу появились вопросы: 1)Какую библиотеку нужно использовать для исключений и ошибок (например runtime_error) 2) Как написать программу, которая запрашивает у пользователя два числа и выводит их частное. В случае деления на нуль выводит сообщение "On zero divide!". Как я не пытался писать программу вводя в нее например 5 0 оно выводило... подробнее

Показать сообщение отдельно
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
15.08.2011, 19:57     Определить, может ли при перестановке строк одной матрицы получится вторая
можно отсортировать сначала строки матрицы, а потом по-элементно сравнить:
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include <iostream>
 
using namespace std;
 
/****************************
 Даны две матрицы одинаковых размеров.
 Определить, может ли при перестановке строк одной матрицы получится вторая
****************************/
 
 
 
 
const size_t SIZE = 3;
 
int** CreateMatrix(size_t nRow, size_t nCol)
{
    int** matrix = new int*[nRow];
    for (int i = 0; i < nRow; ++i)
    {
        matrix[i] = new int[nCol];
    }
 
    return matrix;
}
 
 
void ShowMatrix(int** matrix, size_t nRow, size_t nCol)
{
    for (int i = 0; i < nRow; ++i)
    {
        for (int j = 0; j < nCol; ++j)
        {
            cout << matrix[i][j] << "  ";
        }
        cout << endl;
    }
}
 
 
void InitMatrix(int** matrix, size_t nRow, size_t nCol)
{
    for (int i = 0; i < nRow; ++i)
        for (int j = 0; j < nCol; ++j)
            matrix[i][j] = 0;
}
 
 
void SwapPtr(int*& p1, int*& p2)
{
    int* tmp = p1;
    p1 = p2;
    p2 = tmp;
}
 
 
void SortRowsMatrix(int** matrix, size_t size)
{
    for (int i = 0; i < size; ++i)
    {
        for (int j = size-1; j > i; --j)
        {
            if (*matrix[j-1] > *matrix[j])
            {
                SwapPtr(matrix[j-1] , matrix[j]);
            }
        }
    }
}
 
 
bool IsEqual(int** matrix1, int** matrix2, size_t nRow, size_t nCol )
{
    for (int i = 0; i < nRow; ++i)
    {
        for (int j = 0; j < nCol; ++j)
        {
            if (matrix1[i][j] != matrix2[i][j])
                return false;
        }
    }
    return true;
}
 
 
int main()
{
    int** matrix = CreateMatrix(SIZE, SIZE);
    InitMatrix(matrix, SIZE, SIZE);
 
    matrix[0][0] = 600;
    matrix[0][1] = 2;
    matrix[0][2] = 3;
 
    matrix[1][0] = 8;
    matrix[1][1] = 7;
    matrix[1][2] = 6;
 
    matrix[2][0] = 345;
    matrix[2][1] = 78;
    matrix[2][2] = 23;
 
    SortRowsMatrix(matrix, SIZE);
    ShowMatrix(matrix, SIZE, SIZE);
 
    ////////////////////////////////////////////
    cout << endl;
    ////////////////////////////////////////////
 
    int** matrix2 = CreateMatrix(SIZE, SIZE);
    InitMatrix(matrix2, SIZE, SIZE);
 
    matrix2[0][0] = 345;
    matrix2[0][1] = 78;
    matrix2[0][2] = 23;
 
    matrix2[1][0] = 600;
    matrix2[1][1] = 2;
    matrix2[1][2] = 3;
 
    matrix2[2][0] = 8;
    matrix2[2][1] = 7;
    matrix2[2][2] = 6;
 
    ShowMatrix(matrix2, SIZE, SIZE);
 
    cout << endl;
 
 
    SortRowsMatrix(matrix2, SIZE);
    ShowMatrix(matrix2, SIZE, SIZE);
 
 
    IsEqual(matrix, matrix2, SIZE, SIZE) ? (cout << "Equal") : (cout << "NotEqual");
 
  //delete all matrix
 
 
    return 0;
}
 
Текущее время: 07:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru