Идентификация треугольника по трем его сторонам. Определяемое свойство: прямоугольный или нет - 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