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

Не правильно сортируется параллель под побочной диагональю. Что не так и что надо исправить?

Не могу понять как сделать, чтобы сортировалась параллель под побочной диагональю по возрастанию.
#include<iostream>
#include <cstring>
#include<cmath>
#include<cstdlib>
#include<conio.h>
#include<ctime>
#include<windows.h>

using namespace std;


int main()
{
	setlocale(LC_ALL, "RUS");
	srand(time(NULL));

	const int n = 5;
	double a[n][n], buf;
	int k = 1;

	cout << "Массив a" << endl;
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			a[i][j] = rand() % 20 - 10;
			cout << "a[" << i << "][" << j << "] = " << a[i][j] << "\t";
		}
		cout << endl;
		cout << endl;
	}
	for (int i = 0; i < n; i++)
	{
		for (int j = n - 1; j > i; j--)
		{
			if (a[i][n - 1 - i + k] > a[i+1][n - 1 - i + k-1])
			if (a[5][j] > a[5][j - 1])
			{
				buf = a[i][n - 1 - i + k];
				a[i][n - 1 - i + k] = a[i + 1][n - 1 - i + k - 1];
				a[i + 1][n - 1 - i + k - 1] = buf;
			}
		}
	}
	cout << endl;
	cout << "Отсортированная параллель побочной диагонали расположенной под диагональю" << endl;
	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			cout << "a[" << i << "][" << j << "] = " << a[i][j] << "\t";
		}
		cout << endl;
		cout << endl;
	}



	system("PAUSE");
}
  • Вопрос задан
  • 186 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Вы этот код хотя бы раз целиком прочитали? Кажду строчку? Вот поствьте перед мониторо кружку. Представьте, что это ваш друг-студент, который пытается списать у вас задание, но ничего не понимает. Вот объясните ему, строчка-за-строчкой, что происходит в вашем коде, что он должен делать, как должен работать.

Вам должно сразу стать понятно, что в одной строчке написан полный, абсолютный, дисстилированный бред.
Ответ написан
Ваш ответ на вопрос

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

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