Идентификация треугольника по трем его сторонам. Определяемое свойство: прямоугольный или нет - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Имеем задачу: Идентификация треугольника по трем его сторонам. Определяемое свойство: прямоугольный или нет. Значения сторон генерировать в диапазонах от 1 до 20, причем для третьей стороны нужно, чтобы ее размер не превышал суммы и не был меньше модуля разности первых двух сторон. В окончательном варианте написал вот что:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
void main()
{
    int a,b,c,c2,a2,b2;
    srand(time(NULL));
    a=rand()%20+1;
    b=rand()%20+1;
    do
    {
        c=rand()%20+1;
    }   while((abs(a-b)<c)&&(a+b)>c);
    printf("a=%d b=%d c=%d \n",a,b,c);
    c2=c*c;
    a2=a*a;
    b2=b*b;
    printf("a2=%d b2=%d c2=%d \n",a2,b2,c2);
    if(c2=a2+b2)
        printf("Treugol'nik pryamoi\n");
    else printf("ne pryamoi\n");
}
Специально вывел все стороны и их квадраты, чтобы понять, что вообще неправильно, но все равно не доходит до меня, почему третья сторона так криво генерируется... Где же кроется правда?

Решение задачи: «Идентификация треугольника по трем его сторонам. Определяемое свойство: прямоугольный или нет»

textual
Листинг программы
if(c2==a2+b2) стр 20

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы