![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 19.01.2009
Сообщений: 17
|
![]()
Есть квадратный масив, размерностью н (н вводится с клавиатуры). Нужно заполнить нижнюю четверть (между основной и второстепенной диагоналями, включая диагонали) натуральными числами по порядку, а все остальное нулями. Вопрос: подскажите саму зависимость, на которой можно построить циклы на заполнение натуральными числами. Или какойто другой способ....
|
![]() |
![]() |
![]() |
#2 |
The First Person!
Форумчанин
Регистрация: 07.08.2007
Сообщений: 228
|
![]()
ну, есть вариант заполнять треугольником снизу по строчкам. вот допустим сначала заполняем начиная со второго элемента, заканчивая предпоследним..будет как то так выглидить..
n=5 1 шаг 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 шаг 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 с каждым шагом отступ от обоих сторон увеличивать на 1.
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 19.01.2009
Сообщений: 17
|
![]()
Нееее, вся фишка в том, что масив надо заполнить примерно таки образом:
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 3 4 0 5 6 7 8 9 Сейчас я могу сделать примерно так: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 2 3 4 0 0 0 5 0 7 0 9 0 10 0 0 13 0 0 16 Тоисть заполнить две диагонали и столбик под 1. Может ето и не самый рациональный вариант, но пока я смог только до такого додуматся =) |
![]() |
![]() |
![]() |
#4 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
задача решается и правильно заполняется,если n нечетно..этого нет в условии?..
Тогда задача решается довольно несложно.Делим на 2 n,вернув целую часть приравниваем к... ну и потом делаем что-то вроде этого: Код:
Ах,да,при создании массива обнули его,тогда нулями не надо заполнять будет.Массив создавать примерно так...если память не подводит: Код:
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() Последний раз редактировалось Скарам; 13.10.2009 в 20:50. Причина: Индексы поправил |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 19.01.2009
Сообщений: 17
|
![]()
Завтра выложу свой не до конца написаный код, может по нему легче будет разобратся.....Но масив можно считать сразу забитым нулями, а н я вычисляю по формуле н=2*а+1 (собственно а вводится с клавиатуры).
|
![]() |
![]() |
![]() |
#6 | |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]() Цитата:
Код:
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 19.01.2009
Сообщений: 17
|
![]()
Динамические масивы нельзя использовать =(
|
![]() |
![]() |
![]() |
#8 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
ну думаю,что объявление массива Вы сами в состоянии переделать,алгоритмы от этого не зависят.Сделайте массив побольше и всё,заполнение и вывод будут частичными,т.е. всё завязано на n ,поэтом объявление массива может быть и таким int mas[20][20];,удалите объявление динамического массива и всё..
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
масив в WHERE | memka | PHP | 4 | 03.04.2009 07:36 |
масив | HENRY23 | Общие вопросы Delphi | 0 | 17.03.2009 22:30 |
масив на 1000 ел. | ГРИГОРИЙ-кореш | Помощь студентам | 1 | 05.03.2009 19:15 |
Масив | rizii | Общие вопросы C/C++ | 2 | 09.01.2009 13:30 |
маcсив | nikleb | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 19.04.2007 23:23 |