| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Вопросы по поводу массива |
| Автор: ravvv 7.3.2009, 16:53 | ||||
| 1) Дан одномерный массив, состоящий из семи элементов. Элементы создаются случайно из диапазона от 1 до 7. Определить максимальный элемент массива и ближайший к максимальному элементу элемент массива.
Вопрос: Как определить ближайший к максимальному элементу элемент массива 2) Дан двумерный массив размером 3 на 3. Элементы создаются случайно из диапазона от 1 до 5 , найти разность элементов главной диагонали и сумму элементов побочной диагонали.
Вопрос: Как найти разность элементов на главной диагонали? И как определить саму побочную диагональ? Помогите пожалуйста. Заранее благодарю |
| Автор: andrew_121 7.3.2009, 17:37 | ||
Вот:
std::remove_copy() замени на remove() если не нужно сохранение исходного массива. Еще можно максимальный элемент переместить в конец массива, и искать в диапазоне не достигая последнего элемента. |
| Автор: zim22 7.3.2009, 17:43 |
взято из просторов интернета: На следующей матрице мы видим, что элементы побочной диагонали равны числу три. Остальные элементы (не принадлежащие побочной диагонали) равны нулю. В данном случае побочной диагонали принадлежат элементы a41, a32, a23 и a14. 0 0 0 3 0 0 3 0 0 3 0 0 3 0 0 0 Побочная диагональ имеет закономерность. Самый первый (верхний) элемент побочной диагонали имеет максимальный индекс по одной размерности массива и минимальный по другой(строка-столбец). В цикле прогоните матрицу, увеличивая на единицу индексацию по размерности, отвечающей за строки матрицы и одновременно уменьшая индекс столбца на единицу. Параллельно заведите себе переменную для накопления сумму этих элементов. |
| Автор: ravvv 7.3.2009, 18:06 |
| спасибо. Разобрался. |