Привет, Тостер! Вообщем написал прогу для матриц, но при вводе всех данных в конечном результате прога просто закрывается. Вот кот:
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
int A[7][7], B[7];
int M, N, i, j, k, R = 0;
do
{
//Ввод числа строк в матрице
cout << "Введите количество строк в матрице (1 < M < 10): ";
cin >> M;
//Ввод числа столбцов в матрице
cout << "Введите количество столбцов в матрице (1 < N < 10): ";
cin >> N;
if (M <= 1 || M >= 10 || N <= 1 || N >= 10)
cout << "Введено неверное значение!\n\n";
}
while (M <= 1 || M >= 10 || N <= 1 || N >= 10);
//Обнуление вспомогательного массива
for (i = 0; i <= N; i++) B[i] = 0;
//Ввод значений элементов матрицы
cout << "\nВведите значения элементов матрицы:\n";
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
{
cout << "A[" << i+1 << "," << j+1 << "] = ";
cin >> A[i][j];
if (A[i][j] == 0) B[j]++;
}
cout << "\n";
}
//Вывод исходной матрицы
cout << "Исходная матрица:\n";
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
{
cout.width(7);
cout << A[i][j] << " ";
}
cout << "\n";
}
//Вывод номеров столбцов, содержащих два и более нулей
cout << "Номера столбцов, в которых нулей >= 2: ";
for (i = 0; i < N; i++)
if (B[i] >= 2)
{
cout << i+1 << " "; R++;
}
if (R == 0) cout << "\nСтолбцы не найдены";
//Подсчет суммы элементов в строках матрицы
for (i = 0; i < M; i++)
{
B[i] = 0;
for (j = 0; j < N; j++)
B[i] += A[i][j];
}
//Сортировка матрицы по возрастанию суммы элементов в строках
for (i = 0; i < M - 1; i++)
for (j = 0; j < M-i-1; j++)
if (B[j] > B[j+1])
{
swap(B[j], B[j+1]);
for (k = 0; k < N; k++)
swap(A[j][k], A[j+1][k]);
}
//Вывод отсортированной матрицы
cout << "\n\nОтсортированная матрица:\n";
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
{
cout.width(7);
cout << A[i][j] << " ";
}
cout << " Сумма элементов = ";
cout.width(7);
cout << B[i] << "\n";
}
return 0;
}
Ну а собственно входящие данные вот:
M - 6
N - 2
77 44
0 66
0 -65
87 0
65 6
68 2
На выходе должно быть что-то типо:
-65
66
70
71
87
121
Но при вводе конечного значения (2) и нажатия Enter прога закрывается.. Что может быть?