0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 51
|
||||||
1 | ||||||
Поиск максимального элемента на главной диагонали13.12.2018, 22:15. Показов 3652. Ответов 6
Метки нет Все метки)
(
Алгоритм работает включительно по вывод максимального значения. Значение пересечения не выводит, местами не меняет, измененный массив не отображает.
Не могу понять, в чем ошибка. Мне не нужен ноывй код, просто хочу для себя разобраться, почему не могу отработать задачу в такой последовательности
0
|
|
13.12.2018, 22:15 | |
Ответы с готовыми решениями:
6
Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали Составить функцию нахождения максимального элемента Мх в диагонали матрицы, параллельной главной диагонали
|
Параллельный Кот
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
|
|
13.12.2018, 22:42 | 2 |
Начните с объявления переменных там, где они действительно требуются.
Здесь переменные i, j еще не нужны, вы используете их для организации цикла. Если уберете их отсюда, получите ошибку при компиляции. Подумайте, почему она возникла. Исправите ее - получите правильный поиск максимума на диагоналях. swap меняет местами значения двух переменных, и здесь это не элементы матрицы. Может быть тогда стоит запоминать не само значение максимума, а его координаты?
0
|
7424 / 5019 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
|
|
13.12.2018, 23:56 | 3 |
![]() массив целого типа за начальный максимум принимается минимальный элемент массива. возможное значение минимального элемента от начинается от -10 индексы элементов главной диагонали равны, более логично применять arr[i][I] остальные недочёты сказал valen10, возможно есть и другие (про освобождение памяти говорить не будем) VoronReki, Вы по-прежнему уверены или всё-же поправить ? ![]()
0
|
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 51
|
||||||
13.12.2018, 23:59 [ТС] | 4 | |||||
Следовательно сейчас он не верен. Но ведь промежуточная цель задачи выполняется? Максимум находится, при эирм не надо вводить какие-то дополнительные элементы..
Я находил решения подобных задачи на Киберфоруме, проавда в ряде случаев там поиск максимума был кривой. Например, вот этот код
0
|
7424 / 5019 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
|
|
14.12.2018, 00:05 | 5 |
0
|
0 / 0 / 0
Регистрация: 17.10.2018
Сообщений: 51
|
|
14.12.2018, 00:09 [ТС] | 6 |
Спасибо за объяснение. Давайте я подправлю то, на что вы указали.
Мне что не понятно: если закоментить кусок кода с заменой элементов, то выводится первоначальный массив и максимум. Если запустить код с заменой, выскакивает ошибка, выводится лишь первая строка массива и на этом все. Получается, где-то возникаеи конфликт между и этой Ты есть я это пытаюсь понять, где я написал так как не надо. Ведь по логике получается: - отрабатывается создание массива, тут же ищется максимум - выводится максимум на консоль - указывается пересечение и тут же меняется местами (ну, здесь ошибка со swap, надо будет местами поменять по-другому) - выводится изменнный массив. Но длгика, видимо меня подвела. Вернее, реализация этой логики кривая( Добавлено через 2 минуты - не свосем понял эту фразу, можете чутка более развернуто написать, пожалуйста.
0
|
7424 / 5019 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
|
|
14.12.2018, 00:29 | 7 |
самый элементарный пример: матрица 3x3 элементы главной диагонали: -1, -2, -3 что скажет Ваш код насчёт максимума ?
кстати должна выдаваться ошибка строка 28 j вне цикла
0
|
14.12.2018, 00:29 | |
Помогаю со студенческими работами здесь
7
Рассчитывается произведение минимального и максимального элемента ниже главной диагонали массовых
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |