int N,br1,br2; // Броячи
float a[21],b[21],c[21]; // Масиви за Страните на различните триъгълници
float M[21][4]; // Масив за Медианите
float r[21]; // Масив за Радиусите
float SaR; // Средноаритметично на радиусите
void Input ();
void MedianaRadius();
void Output();
// Фунция за вход и проверка за коректност на данните
void Input ()
{
int i=1;
N = -1;
bool isValid = true;
do {
printf ("wywedete broq na Triygylnicite - N, N<20 N = ");
scanf("%d",&N);
}while (N > 20|| N<0);
for (i=1; i < N+1; i++)
{
do {
printf("Vyvedete stranata a za %d triygylnik, a= ",i);
scanf("%f",&a[i]);
printf("Vyvedete stranata b za %d triygylnik, b= ",i);
scanf("%f",&b[i]);
printf("Vyvedete stranata c za %d triygylnik, c= ",i);
scanf("%f",&c[i]);
if (a[i]>=b[i]+c[i] || c[i]>=b[i]+a[i] || b[i]>=a[i]+c[i]) {
printf("Proverkata ostanovi che takyv triygylnik ne syshtestwuwa\n\n\n");
isValid = false;
} else {
isValid = true;
}
printf("\n\n");
} while(isValid == false);
//l1: // To4no tuk !!!!!!!!!!!!!!!!!!!!!!!!!!!
//
//
// if (a[i]>=b[i]+c[i] || c[i]>=b[i]+a[i] || b[i]>=a[i]+c[i])
// {
// printf("Proverkata ostanovi che takyv triygylnik ne syshtestwuwa\n");
//
// goto l1; // To4no TUK !!!!!!!!!!!!!!!!!!!!!!!!!
//
// }
}
}
// Функция изчисляваща Всяка Меридиана, Радиус на Вписана
// Средно.Аритм. за Радиусите и колко радиуса са по-големи(малки) от средния
void MedianaRadius()
{
int i;
double p,Sumr;
Sumr = 0;
for (i=1; i < N+1; i++)
{
p = 0.5*(a[i]+b[i]+c[i]);
M[i][1] = 0.5*(sqrt((2*((b[i]*b[i])+(c[i]*c[i])))-(a[i]*a[i]))) ;
M[i][2] = 0.5*(sqrt((2*((a[i]*a[i])+(c[i]*c[i])))-(b[i]*b[i]))) ;
M[i][3] = 0.5*(sqrt((2*((b[i]*b[i])+(a[i]*a[i])))-(c[i]*c[i]))) ;
r[i] = sqrt(((p-a[i])*(p-b[i])*(p-c[i]))/p);
}
for (i=1; i < N+1; i++)
Sumr+=r[i];
SaR = Sumr/N;
for (i=1; i < N+1; i++)
{
if (r[i]< SaR)
br1++;
else
br2++;
}
}
// Функция която изписва всички резултати на Монитора
void Output()
{
int i;
for (i=1; i < N+1; i++)
{
printf("\nZa triygylnik No %d - \n",i);
printf("A = %f, B = %f, C = %f\n",a[i],b[i],c[i]);
printf("Ma = %f, Mb = %f, Mc = %f\n",M[i][1],M[i][2],M[i][3]);
printf("r = %f\n",r[i]);
}
printf ("\nSrednoaritmetichniq radius na vpisanata na vsichki triygylnici e : %f",SaR);
printf ("\nBroqt na triygylnicite s po-malyk radius ot sredniq e %d",br1);
printf ("\nBroqt na triygylnicite s po-golqm radius ot sredniq e %d\n",br2);
}