Вопрос от пользователя: Гошуля
Помогите решить задачи в паскале. 1) Подсчитать количество предложений в заданном тексте. 2) Найти сумму цифр в целой и в дробной части числа, введенного в виде текстовой строки.
Ответ: Фетинья
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.