Задать вопрос
@B4CCD00R

Почему прога не выводит результат?

Привет, Тостер! Вообщем написал прогу для матриц, но при вводе всех данных в конечном результате прога просто закрывается. Вот кот:
#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 прога закрывается.. Что может быть?
  • Вопрос задан
  • 115 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
GavriKos
@GavriKos
Classic. А почему она не должна закрываться? Вы же return сделали.

Два варианта - или запустите прогу в терминале, или ожидайте от пользователя какой нить клавиши.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы