C/C++ - Помогите решить задачу на Си

Ответить
 • Просмотры: 1
Аватара пользователя
friter

C/C++ - Помогите решить задачу на Си

Сообщение friter »

задача не затейливая, но вот я никак не могу её должным образом решить.

В общем, надо нарисовать прямоугольный треугольник вида

*

**

***

*****

примерно такого, учитель нам такой показывал, стороны треугольника 4*5

проблема в том, что я никак не могу найти формулу, по которой прога рисовала бы треугольник с нужными мне сторонами. всегда получается, что в конце то больше, то меньше заданного числа...



уже долго бьюсь над этой задачей, но никак не могу её решить

пробовал через деление, пробовал через другие формулы треугольников, но никак не получается, уже руки опустились
Аватара пользователя
yurfed

Re: C/C++ - Помогите решить задачу на Си

Сообщение yurfed »

Цитата friter:



проблема в том, что я никак не могу найти формулу, по которой прога рисовала бы треугольник с нужными мне сторонами.
C/C++ - Помогите решить задачу на Си




Геометрию учить не пробовали?

Прямоугольный треугольник


Или например Прямоугольный треугольник.
Определение тригонометрических функций. Прямоугольный треугольник. Тригонометрические формулы. Прямоугольный треугольник. Теорема Пифагора......
Аватара пользователя
lxa85

Re: C/C++ - Помогите решить задачу на Си

Сообщение lxa85 »

Busla, этот ответ вытекал из посыла ТС изучать машинную графику и тамошние быстрые алгоритмы рисования. Изображение
Аватара пользователя
friter

Re: C/C++ - Помогите решить задачу на Си

Сообщение friter »

в том то и дело, что данные вами статьи я изучал, однако все равно не получается
Аватара пользователя
lxa85

Re: C/C++ - Помогите решить задачу на Си

Сообщение lxa85 »

friter, хотелось бы видеть ход рассуждений. Это первое.

Второе, если хочется ответ здесь и сразу - изучайте машинную графику и алгоритмы построение треугольников с этой точки зрения.
Аватара пользователя
friter

Re: C/C++ - Помогите решить задачу на Си

Сообщение friter »

#include

#include

int main(void){

int a, Ta=0, b;

float temp=1, angle;

// ну тут понятно, воодятся 2 числа для сторон а и б

printf("a= b=\n");

scanf("%d %d", &a, &b);

//переходит со строчки на строчку

for(int i=0; i
Аватара пользователя
ferget

Re: C/C++ - Помогите решить задачу на Си

Сообщение ferget »

вроде так





Код:

Код: Выделить всё

 int size =; 
    int i, j ;
    for(i = 1; i < size; i++){
        for(j=0; j
Аватара пользователя
friter

Re: C/C++ - Помогите решить задачу на Си

Сообщение friter »

этот вариант сразу отпадает, тк стороны А и В у треугольника могут быть не равными, к примеру 4*5 или 20*60 или 7*13 ну и тд...
Аватара пользователя
LilLoco

Re: C/C++ - Помогите решить задачу на Си

Сообщение LilLoco »

Цитата friter:



//вот тут и должна по моему располагаться формула

Ta++;

temp=tan(Ta/temp);

пока эксперементирую с формулами
C/C++ - Помогите решить задачу на Си




Вот эти самые формулы и интересуют.

какие формулы смотрелись, почему не устроили и т.д. "Тонны литературы" не говорят ни о чем.
Аватара пользователя
lxa85

Re: C/C++ - Помогите решить задачу на Си

Сообщение lxa85 »

Не нужны здесь тригонометрические функции:

цикл от 1 до a

на каждом шаге прибавляем отношение a к b, округляем - выводим это кол-во звёздочек



чтобы звёздочки по вертикали рисовались правильно, принудительно округляем до единицы всё, что меньше
Ответить

Вернуться в «Программирование и базы данных»