@mpvcluuuuub

В чем ошибка сортировки матрицы?

По заданию, нужно создать алгоритм который будет сортировать матрицу из двумерного массива следующим образом: сначала идут отрицательный числа, потом нули, а потом положительные. Вроде как сделал но не понимаю в чем моя ошибка, если что, то N - кол во строк а M - столбцов
for (int i = 0; i < M; i++) {
		for (int j = 0; j < N; j++) {
			if (A[i][j] > 0) {
				for (int k = i + 1; k < N; k++) {
					for (int l = j + 1; l < M; l++) {
						if (A[k][l] < 0) {
							swap(A[k][l], A[i][j]);
						}
					}
				}
			}
		}
	}

	for (int i = M - 1; i >= 0; i--) {
		for (int j = N - 1; j >= 0; j--) {
			if (A[i][j] < 0) {
				for (int k = i; k >= 0; k--) {
					for (int l = j; l >= 0; l--) {
						if (A[k][l] > 0) {
							swap(A[k][l], A[i][j]);
						}
					}
				}
			}
		}
	}


5f9b22e3e0243031163634.png
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Sumor
M и N поменялись местами
for (int k = i + 1; k < N; k++) {
          for (int l = j + 1; j < M; l++) {
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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