25.05.2018, 19:24 [+3 UTC]
в нашей команде: 2 790 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.47 (16.04.2018)

Общие новости:
13.04.2018, 10:33

Форум:
15.05.2018, 18:49

Последний вопрос:
25.05.2018, 09:53

Последний ответ:
24.05.2018, 11:47

Последняя рассылка:
25.05.2018, 18:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
28.05.2010, 15:37 »
Ананьев Рудольф Олегович
большое спасибо! [вопрос № 178646, ответ № 261683]
12.04.2017, 01:08 »
zinochka-e
Спасибо большое. Благодаря подробному образцу, все получилось! [вопрос № 190860, ответ № 274899]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 239
CradleA
Статус: Профессор
Рейтинг: 112
solowey
Статус: 10-й класс
Рейтинг: 80

Перейти к консультации №:
 

Консультация онлайн # 191081
Раздел: • С / С++
Автор вопроса: Iv (Посетитель)
Отправлена: 31.05.2017, 07:10
Поступило ответов: 1

Здравствуйте! Прошу помощи в следующем вопросе:

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

Состояние: Консультация закрыта

Ответ # 275067 от mklokov (6-й класс)

Здравствуйте, 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;
}


Консультировал: mklokov (6-й класс)
Дата отправки: 07.06.2017, 21:14

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 191081

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 1

= общий = | 31.05.2017, 11:21 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Iv:

Покажите нам свои попытки написать программу

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

mklokov
6-й класс

ID: 400828

# 2

= общий = | 02.06.2017, 00:09 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Что значит "Отсортировать строки по убыванию?"
По убыванию чего?

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 3

= общий = | 02.06.2017, 12:13 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mklokov:

© Цитата:
По убыванию чего?
Вестимо, отсортировать каждую такую строку по убыванию столбцов. Есть другие варианты? smile

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

Iv
Посетитель

ID: 401155

# 4

= общий = | 02.06.2017, 13:24 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mklokov:

В задании не сказано. Это все что есть.

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 5

= общий = | 02.06.2017, 13:52 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Iv:

Кстати, как задается размерность и сама матрица?
В тексте программы, случайно, вводится с клавиатуры, из файла?

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

• Отредактировал: Лысков Игорь Витальевич (Старший модератор)
• Дата редактирования: 02.06.2017, 13:52

mklokov
6-й класс

ID: 400828

# 6

= общий = | 02.06.2017, 22:41 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Лысков Игорь Витальевич:

© Цитата: Лысков Игорь Витальевич
По убыванию ЧЕГО столбцов? Суммы, произведения, среднего арифметического, индексов седловых точек?

mklokov
6-й класс

ID: 400828

# 7

= общий = | 02.06.2017, 22:49 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

© Цитата: Iv

Есть код без сортировки, т. к. ключ сортировки так и не опознан.
Нужен?

Лысков Игорь Витальевич
Старший модератор

ID: 7438

# 8

= общий = | 07.06.2017, 11:27 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
mklokov:

Чего-то автор вопроса отмалчивается. Ответьте тем кодом, который есть.

=====
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13949 сек.

© 2001-2018, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.47 от 16.04.2018