Можно код сделать покороче, если ты об этом.
program tri;
var
a, b, c: real;
begin
writeln('Введите a,b,c:');
readln(a, b, c);
if (a > 0) and (b > 0) and (c > 0) then
begin
if (a = c) and (b = c) and (a = b) then
writeln('Треугольник равносторонний') ;
if (((a = b) and (b <> c)) or
((b = c) and (b <> a)) or
((c = b) and (c <> a))) then
writeln('Треугольник равнобедренный');
if (a <> b) and (c <> b) and (a <> c) then
writeln('Треугольник произвольный') ;
end
else
writeln('такого треугольника нет') ;
end.
Ну вот, на 5 строчек короче, но смысл тот же.
Изменения:
Использовал if.. else вместо двух if при проверке положительности сторон. Собрал 3 if при проверке на равносторонность в один if.а я разве их не
но
1)
program pr1; uses crt; var stroka: string; i,k,x: integer; mas: array[byte] of integer; beginclrscr; readln(stroka);
i: =1; repeat
val(stroka[i],k,x); mas[i]: =k; i: =i+1;
until i=length(stroka); x: =0; for i: =1 to length(stroka) do x: =x+mas[i]; if x=10 then writeln('true')else writeln('else'); end.
2 я не знаю как решать
3)
program pr1; uses crt; var stroka: string; i,k,x: integer; mas: array[byte] of integer; beginclrscr; readln(stroka); i: =1; while i< =length(stroka) do begin val(stroka[i],k,x); mas[i]: =k; i: =i+1; end; x: =0; for i: =1 to length(stroka) do x: =x+mas[i]; writeln(x); end.
4)
program pr1; uses crt; var stroka: string; i,k,x: integer; mas: array[byte] of integer; beginclrscr; readln(stroka); i: =1; while i< =length(stroka) do begin val(stroka[i],k,x); mas[i]: =k; i: =i+1; end; x: =0; for i: =1 to length(stroka)-1 dofor k: =1 to length(stroka)-i do if mas[k]=mas[k+1] then x: =x+1; if x> 0 then writeln('true')else writeln('false'); end.
Поделитесь своими знаниями, ответьте на вопрос:
var a: array [1 . 10_] of integer; i: integer; begin for i: =1 to 10_ do begin a [ i ] : = random ) + ; end; end.