Другие языки программирования и технологии
Нужен алгоритм перебора массива.
Нужно построчно перебрать массив по диагонали... Т.е. приведу пример: например массив А(4,4) нужно в цикле пройтись по нему в таком порядке 1 строка - 4,4 2 строка - 4,3; 3,4 3 строка - 4,2; 3,3; 2,4 ... 8 строка - 1,0; 0,1 и последняя - 0,0 Размер массива может меняться, но он всегда квадратный. Сам чтото уже голову сломал...
да что тут голову-то ломать-то? было бы над чем ломать.. .
оговоримся, что первый элемент массива - (0,0), т. е. строк у нас n-1
а количество диагоналей 2n-1, т. е. от 0 до 2(n-1)
основное правило такое:
сумма используемых чисел должна быть равна i, т. е.
i=0 можно использовать только (0,0)
i=1 только (1,0) и (0,1). Нельзя (1,1) - 1+1 > 1
i=2 только (2,0), (0,2) и (1,1). (0,0) - 0+0 < 2, (1,0) и (0,1) - 1+0 < 2, а (2,1) и (1,2) нельзя, т. к. 2+1 > 2
i=3 только (3,0), (0,3), (2,1) (1,2). (0,1) и (1,0) - 1+0 < 3, (1,1) - 1+1 < 3, (0,2) и (2,0) - 2+0 < 3, (2,2) - 2+2 > 3, а (3,1) и (1,3) - 1+3 > 3
i=4 только (3,1), (1,3) и (2,2)
i=5 только (3,2) и (2,3)
i=6 только (3,3)
и т. д.
при увеличении n правило остается в силе
оговоримся, что первый элемент массива - (0,0), т. е. строк у нас n-1
а количество диагоналей 2n-1, т. е. от 0 до 2(n-1)
основное правило такое:
сумма используемых чисел должна быть равна i, т. е.
i=0 можно использовать только (0,0)
i=1 только (1,0) и (0,1). Нельзя (1,1) - 1+1 > 1
i=2 только (2,0), (0,2) и (1,1). (0,0) - 0+0 < 2, (1,0) и (0,1) - 1+0 < 2, а (2,1) и (1,2) нельзя, т. к. 2+1 > 2
i=3 только (3,0), (0,3), (2,1) (1,2). (0,1) и (1,0) - 1+0 < 3, (1,1) - 1+1 < 3, (0,2) и (2,0) - 2+0 < 3, (2,2) - 2+2 > 3, а (3,1) и (1,3) - 1+3 > 3
i=4 только (3,1), (1,3) и (2,2)
i=5 только (3,2) и (2,3)
i=6 только (3,3)
и т. д.
при увеличении n правило остается в силе
> 8 строка - 1,0; 0,1
> и последняя - 0,0
Где ты там аж 9 диагоналей умудрился насчитать в матрице 4 Х 4 - ума не приложу)
Или подразумевается, что индексация элементов с нуля ?
Тогда, конечно, 9
> и последняя - 0,0
Где ты там аж 9 диагоналей умудрился насчитать в матрице 4 Х 4 - ума не приложу)
Или подразумевается, что индексация элементов с нуля ?
Тогда, конечно, 9
стучи в агент
Внешний цикл по столбцам, от последнего к первому с шагом -1
Вложенный цикл:
- по строкам от последней к строке с индексом внешнего цикла.
- по столбцам от столбца с индексом внешнего цикла к последнему столбцу
Вложенный цикл:
- по строкам от последней к строке с индексом внешнего цикла.
- по столбцам от столбца с индексом внешнего цикла к последнему столбцу
на каком языке программируешь?
Похожие вопросы
- Нужен алгоритм перебора всех вариантов для заданых чисел!!!!
- Подскажите мне пожалуиста что такое алгоритм и зачем компьютеру. нужен алгоритм.И что такое прога Паскаль и зачем она
- Зачем нужны алгоритмы О(n), O(n!)?
- нужен алгоритм
- Нужна помощь с массивом с++
- как посчитать 365! (С++) Нужен алгоритм вычисления факториала больших чисел.
- нужен алгоритм !
- Информатика. Программирование. Обработка массивов данных. Помогите составить алгоритм и прог. код к нему.
- Перебор двумерного массива. Вопрос на засыпку.
- алгоритм... по нахождению общих элементов двух массивов