Задача: Написать функцию которая принимает указатель на двумерный массив , количество строк, количество столбцов и строку k
которую нужно отсортировать по возрастанию.
Передать-то я вроде смог, но что я передал и что с ним делать - не знаю.
int n, m, k;
cout << " Enter N,M,K: " << endl;
cin >> n >> m >> k;
int** p = new int*[m];
for (int i = 0; i < m; i++)
{
p[i] = new int[n];
}
InputTwoArray(p,m,n); //ввод матрицы
PrintMatrix(p, m, n); //вывод на консоль
SortLine(*(p+k-1), n); //сама сортировка
Вот сама функция частично переделанная, но я считаю, что она абсолютно не верна. Объясните пожалуйста как сделать и, по возможности, с кодом.
void SortLine(int *arr, int n) {//сортировка
int k = *arr - 1;
for (int j = n; j > n; j--)
if (arr[n] < arr[n])
{
int tmp = arr[n];
arr[n] = arr[n];
arr[n] = tmp;
}
}
Примерно так:
void sort(int* arr, unsigned int m)
{
for(unsigned int i = 1; i < m; i++)
for (unsigned int j = 1; j < m; j++)
if (arr[j] < arr[j-1])
{
int tmp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = tmp;
}
}
void sort(int** matrix, unsigned int n, unsigned int m, unsigned int k)
{
if (!matrix)
return;
if (k >= n)//Номер строки не корректен
return;
if (!matrix[k])
return;
sort(matrix[k], m);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗаданиеДля заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом
все нормально считает ответ но я не могу его вернуть из функции только на экран вывожу на предпоследней итерации ответ верный а на последней...