Const eps=1e-8; var a,b,c:real; s1,s2,s3:integer; begin read(a); read(b); read(c); if a>0 then s1:=s1+1; if b>0 then s1:=s1+1; if c>0 then s1:=s1+1; if a<0 then s2:=s2+1; if b<0 then s2:=s2+1; if c<0 then s2:=s2+1; if frac(a)<eps then s3:=s3+1; if frac(b)<eps then s3:=s3+1; if frac(c)<eps then s3:=s3+1; writeln('Число положительных чисел = ',s1); writeln('Число отрицательных чисел = ',s2); writeln('Число целых чисел = ',s3); end.
/* Для подсчета целых чисел использовалась функция frac - она возвращает дробную часть числа. При сравнении дробных чисел полезно отсекать разряды после скажем 8 знака после запятой, что и было сделано путем введения константы eps . */
В равностороннем треугольнике все три угла равны между собой и равны 60 градусов. В равнобедренном треугольнике два угла равны между собой и оба острые. В прочих треугольников значения всех трех углов различаются между собой.
Эффективность алгоритма решения напрямую зависит от того, насколько успешно производится сравнение углов.
Первый вариант программы (логика ЕСЛИ-ТО-ИНАЧЕ) program v1;
var a, b, c: real;
begin Write('Введите значения углов треугольника в градусах: '); Readln(a, b, c); if a = b then if a = c then Writeln('Треугольник равносторонний') else Writeln('Треугольник равнобедренный') else if a = c then Writeln('Треугольник равнобедренный') else if b = c then Writeln('Треугольник равнобедренный') else Writeln('Все стороны треугольника имеют различную длину') end.
Второй вариант программы (логические выражения) program v2;
var a, b, c: real;
begin Write('Введите значения углов треугольника в градусах: '); Readln(a, b, c); if (a = b) and (a = c) then Writeln('Треугольник равносторонний') else if (a = b) or (a = c) or (b = c) then Writeln('Треугольник равнобедренный') else Writeln('Все стороны треугольника имеют различную длину') end.
Тестовое решение: Введите значения углов треугольника в градусах: 75 30 75 Треугольник равнобедренный
#include <iostream>
int main()
{
int a[12] = {};
int k = 0;
int sum = 0;
for (int i = 0; i < 12; i++)
std::cin >> a[i];
for (int i = 0; i < 12; i++){
if (a[i] < 0){
sum = sum + a[i];
k = k + 1;
}
}
std::cout << sum / k;
}