![]() |
|
Модераторы: bsa |
![]()
|
|
| ravvv |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.3.2009 Репутация: нет Всего: нет |
1)
Дан одномерный массив, состоящий из семи элементов. Элементы создаются случайно из диапазона от 1 до 7. Определить максимальный элемент массива и ближайший к максимальному элементу элемент массива.
Вопрос: Как определить ближайший к максимальному элементу элемент массива 2) Дан двумерный массив размером 3 на 3. Элементы создаются случайно из диапазона от 1 до 5 , найти разность элементов главной диагонали и сумму элементов побочной диагонали.
Вопрос: Как найти разность элементов на главной диагонали? И как определить саму побочную диагональ? Помогите пожалуйста. Заранее благодарю |
||||
|
|||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
ближайший по чём? по значению? или по распложению? если по значению, т.е. число, которое меньше максимального, но больше всех остальных, то очень просто. проходишь массив два раза. за первый раз определяешь максимальное число. выводишь на экран. и обнуляешь его. во время второго прохода максимальным будет уже элемент меньше максимального. при условии, что максимальное число встречалось только в единственном экземпляре. в противном случае во время второго прохода будет найдено число с таким же значением, как и прежде. Добавлено через 5 минут и 4 секунды необходимо с помощью двойного цикла пройти по всем элементам матрицы. и для тех элементов, у которых индексы по двум размерностям будут совпадать(т.е. элементы массива c индексами [0][0], [1][1], [2][2]) вычислить разность с помощью оператора - |
|||
|
||||
| andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 10 Всего: 33 |
Вот:
std::remove_copy() замени на remove() если не нужно сохранение исходного массива. Еще можно максимальный элемент переместить в конец массива, и искать в диапазоне не достигая последнего элемента. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
взято из просторов интернета: На следующей матрице мы видим, что элементы побочной диагонали равны числу три. Остальные элементы (не принадлежащие побочной диагонали) равны нулю. В данном случае побочной диагонали принадлежат элементы a41, a32, a23 и a14. 0 0 0 3 0 0 3 0 0 3 0 0 3 0 0 0 Побочная диагональ имеет закономерность. Самый первый (верхний) элемент побочной диагонали имеет максимальный индекс по одной размерности массива и минимальный по другой(строка-столбец). В цикле прогоните матрицу, увеличивая на единицу индексацию по размерности, отвечающей за строки матрицы и одновременно уменьшая индекс столбца на единицу. Параллельно заведите себе переменную для накопления сумму этих элементов. |
|||
|
||||
| ravvv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.3.2009 Репутация: нет Всего: нет |
спасибо. Разобрался.
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |