Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2011, 23:45   #1
ArniLand
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 89
По умолчанию рисование треугольника

Решаю задачу с Дейтлов нужно нарисовать прямоугольный треугольник с помощью символа * и цикла for. Как это осуществить идей нету пока. Просьба на толкнуть на идею. Код просьба не кидать.
ArniLand вне форума Ответить с цитированием
Старый 31.01.2011, 00:05   #2
ArniLand
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 89
По умолчанию

Должно выйти такого плана треугольник
*
**
***
****
*****
******
*******
********
*********
**********
***********
ArniLand вне форума Ответить с цитированием
Старый 31.01.2011, 00:05   #3
dxdy
Пользователь
 
Регистрация: 11.06.2010
Сообщений: 78
По умолчанию

Для начала попробуйте вывести на печать прямоугольник или квадрат. Проанализируйте как работает цикл for.
Я не волшебник, я еще только учусь ٩(๏̯͡๏)۶
dxdy вне форума Ответить с цитированием
Старый 31.01.2011, 00:06   #4
ArniLand
Пользователь
 
Регистрация: 27.06.2009
Сообщений: 89
По умолчанию

знаю как работает цикл for
ArniLand вне форума Ответить с цитированием
Старый 31.01.2011, 00:07   #5
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

2 вложенных цикла, один печатает звезды, второй новую строку
NiCola999 вне форума Ответить с цитированием
Старый 31.01.2011, 00:27   #6
GeraZlo
Новичок
Джуниор
 
Регистрация: 30.01.2011
Сообщений: 8
По умолчанию

int i = 0
while(i != 6)
{
for(int l = 0; l <= i;l++ )
printf("%с",'*')
printf("\n");
i++;
}

не компилил не знаю будет ли работать, но идея надеюсь ясна.

Последний раз редактировалось GeraZlo; 31.01.2011 в 00:34.
GeraZlo вне форума Ответить с цитированием
Старый 31.01.2011, 00:31   #7
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Количество звёздочек по вертикали и по горизонтали известно. Осталось понять, сколько надо пихать в каждую строку. Давай прикинем.

Предположим, что прямой угол находится в (0,0). Тогда две другие известные точки — (0,y0) и (x0,0) (где x0 и y0 равны длинам горизонтального и вертикального катета). Тогда есть функция выглядит так: y = y0-x*y0/x0. Или, если поменять местами координаты, x = x0-y*x0/y0. Чтобы найти количество звёздочек в строке N, округляем x0-N*x0/y0 и всё.

Вроде как-то так.

Например. Хотим заполнить треугольник со сторонами 5*9:
Код:
*
*
*
*
*
**********
Обрати внимание, звёздочек 6 и 10, но это потому, что это нулевые координаты.
Тут количество_точек(номер_столбца) = 9-номер_столбца*9/5.
0: 9
1: 7.2 ~ 7
2: 5.4 ~ 5
3: 3.6 ~ 4
4: 1.8 ~ 2
5: 0
Рисуем:
Код:
*
**
****
*****
*******
**********
Итог: для получения точек от номера столбца округляем x0-N*x0/y0.

Поправьте, если ошибся где.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Obey-Kun; 31.01.2011 в 00:46.
Obey-Kun вне форума Ответить с цитированием
Старый 31.01.2011, 00:33   #8
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
int i = 0
while(i != 6)
{
for(int l = 0; l <= i;l++ )
printf("%s",'*')
printf("\n");
i++;
}
Это равнобедренный прямоугольный треугольник.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 31.01.2011, 00:54   #9
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Obey-Kun, чето Вы намудрили . Не нужна там никакая формула. ТС просил не кидать код!
Вложения
Тип файла: rar triangle.rar (5.3 Кб, 40 просмотров)

Последний раз редактировалось NiCola999; 31.01.2011 в 01:06.
NiCola999 вне форума Ответить с цитированием
Старый 31.01.2011, 01:03   #10
GeraZlo
Новичок
Джуниор
 
Регистрация: 30.01.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
Это равнобедренный прямоугольный треугольник.
А нигде и не сказано что он не должен быть таковым, просто так проще, если задача стоит только построить прямоугольный треугольник без дополнительных ограничений.
GeraZlo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делфи. Рисование треугольника Skrip Помощь студентам 3 23.12.2009 23:11
3 отрезка и 3 треугольника Айдар Помощь студентам 8 10.09.2009 22:45
ориентация треугольника Orodret Общие вопросы C/C++ 11 09.06.2009 02:10
вращение треугольника в С++ bum90 Помощь студентам 3 28.04.2009 15:28