profile
Опубликовано 6 лет назад по предмету Информатика от karpovaksenia

Помогите решить задачи в паскале. 1)Подсчитать количество предложений в заданном тексте. 2)Найти сумму цифр в целой и в дробной части числа, введенного в виде текстовой строки.

  1. Ответ
    Ответ дан VINOKUR

    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.

Самые новые вопросы