1) тк не уточнила загружаем из файла, или вводим с клавиатуры, получай с этими двумя функциями. в каталоге с программой должен быть файлик .txt
var a,filename:string[255]; chk,i,res:integer; f1:Text; begin res:=0; chk:=0; Writeln('1. Input line'); Writeln('2. Load from file'); Readln(chk); if chk=1 then begin Writeln('Input line: '); Readln(a); for i:=1 to Length(a) do if a[i]='.' then res:=res+1; Writeln('Result: ',res); end; if chk=2 then begin writeln('Input name of file: '); Readln(filename); filename:=filename+'.txt'; Assign (f1, filename); Reset(f1); while not eof (f1) do begin readln (f1, a); writeln(a); for i:=1 to Length(a) do if a[i]='.' then res:=res+1; end; Writeln('Result: ',res); Close (f1); end; readln; end.
2) вводим не запятую, а точку, как разделитель частей числа
var a,substr:string[100]; x,res,i:integer; begin writeln('Input number:'); Readln(a); substr:='.'; x:=Pos(substr,a); for i:=1 to x-1 do res:=res+strtoint(a[i]); Writeln('Result of first part: ',res); res:=0; for i:=x+1 to Length(a) do res:=res+StrToInt(a[i]); Writeln('Result of second part: ',res); readln; end.
Можливі 5 випадків:
1) пряма перетинає дві протилежні сторони і є перпендикулярною до них. Тоді утворюються два
прямокутники;
2) пряма перетинає дві протилежні сторони і НЕ є перпендикулярною до них. Тоді утворюються дві трапеції;
3) пряма перетинає дві суміжні сторони. Тоді утворюються: трикутник і п'ятикутник;
4) пряма проходить через одну вершину прямокутника і одну з протилежних їй сторін. Тоді утворюються: трикутник і трапеція;
5) пряма проходить через дві протилежні вершини прямокутника (діагональ). Тоді утворюються: два трикутники
Малюнок причепив
1) тк не уточнила загружаем из файла, или вводим с клавиатуры, получай с этими двумя функциями. в каталоге с программой должен быть файлик .txt
var a,filename:string[255];
chk,i,res:integer;
f1:Text;
begin
res:=0;
chk:=0;
Writeln('1. Input line');
Writeln('2. Load from file');
Readln(chk);
if chk=1 then
begin
Writeln('Input line: ');
Readln(a);
for i:=1 to Length(a) do
if a[i]='.' then
res:=res+1;
Writeln('Result: ',res);
end;
if chk=2 then
begin
writeln('Input name of file: ');
Readln(filename);
filename:=filename+'.txt';
Assign (f1, filename);
Reset(f1);
while not eof (f1) do
begin
readln (f1, a);
writeln(a);
for i:=1 to Length(a) do
if a[i]='.' then
res:=res+1;
end;
Writeln('Result: ',res);
Close (f1);
end;
readln;
end.
2) вводим не запятую, а точку, как разделитель частей числа
var a,substr:string[100];
x,res,i:integer;
begin
writeln('Input number:');
Readln(a);
substr:='.';
x:=Pos(substr,a);
for i:=1 to x-1 do
res:=res+strtoint(a[i]);
Writeln('Result of first part: ',res);
res:=0;
for i:=x+1 to Length(a) do
res:=res+StrToInt(a[i]);
Writeln('Result of second part: ',res);
readln;
end.