Консультация № 191081
31.05.2017, 07:10
0.00 руб.
0 9 1
Здравствуйте! Прошу помощи в следующем вопросе:

"Элемент матрицы называется седловой точкой,
если он является наименьшим в своей строке и наибольшим в
своем столбце или, наоборот. Для заданной матрицы А(N, N)
напечатать индексы всех ее седловых точек. Составить новую матрицу, в которой отсортировать строки, содержащие седловые
элементы, по убыванию методом Шелла (Shell Sort). Вывести на
экран исходную и отсортированную матрицы"[/color]

Обсуждение

давно
Посетитель
7438
7205
31.05.2017, 11:21
общий
Адресаты:
Покажите нам свои попытки написать программу
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Студент
400828
51
02.06.2017, 00:09
общий
Что значит "Отсортировать строки по убыванию?"
По убыванию чего?
Об авторе:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
давно
Посетитель
7438
7205
02.06.2017, 12:13
общий
Адресаты:
По убыванию чего?
Вестимо, отсортировать каждую такую строку по убыванию столбцов. Есть другие варианты?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
401155
4
02.06.2017, 13:24
общий
Адресаты:
В задании не сказано. Это все что есть.
давно
Посетитель
7438
7205
02.06.2017, 13:52
общий
02.06.2017, 13:52
Адресаты:
Кстати, как задается размерность и сама матрица?
В тексте программы, случайно, вводится с клавиатуры, из файла?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Студент
400828
51
02.06.2017, 22:41
общий
Адресаты:
[q=7438][/q]По убыванию ЧЕГО столбцов? Суммы, произведения, среднего арифметического, индексов седловых точек?
Об авторе:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
давно
Студент
400828
51
02.06.2017, 22:49
общий
[q=401155][/q]
Есть код без сортировки, т. к. ключ сортировки так и не опознан.
Нужен?
Об авторе:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
давно
Посетитель
7438
7205
07.06.2017, 11:27
общий
Адресаты:
Чего-то автор вопроса отмалчивается. Ответьте тем кодом, который есть.
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Студент
400828
51
07.06.2017, 21:14
общий
это ответ
Здравствуйте, Iv!
Т. к. ключ сортировки так и не опознан, высылаю Вам код решения задачи без сортировки.
При необходимости, метод сортировки Шелла "гуглится": здесь, например.
Код:

#include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char** argv) {
const int n=4;
int a[n][n], minj, maxi, mini, maxj;
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++){
a[i][j]=rand()%9+1;
cout << a[i][j] << ' ';
}
cout << '\n';
}
cout << "Results:\n";
for(int i=0;i<n;i++){
minj=0;
for(int k=1;k<n;k++)
if(a[i][k]<a[i][minj])
minj=k;
maxi=0;
for(int k=1;k<n;k++)
if(a[k][minj]>a[maxi][minj])
maxi=k;
if(maxi==i)
cout<<maxi<<' '<<minj<<'\n';

maxj=0;
for(int k=1;k<n;k++)
if(a[i][k]>a[i][maxj])
maxj=k;
mini=0;
for(int k=1;k<n;k++)
if(a[k][maxj]<a[mini][maxj])
mini=k;
if(mini==i)
cout<<mini<<' '<<maxj<<'\n';
}
system("pause");
return 0;
}
Об авторе:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Форма ответа