М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
lolipop310
lolipop310
18.01.2023 06:14 •  Информатика

по информатике нужно написать программу. " пользователь вводит текст. посчитать количество предложений и слов в этом тексте." program go; var s1: string; a,i,k,b: integer; begin writeln('введите текст'); begin; readln(s1); a: =length(s1); if a> 0 then begin b: =1; while a> 0 do begin if s1[i]='b' then b: =b+1; i: =i-1; end; end else b: =0; writeln('количество слов в тексте',b); end; begin; readln(s1); a: =length(s1); for i: =1 to a do if s1[i]='.' then if s1[i+1]=' ' then k: =k+1; end; writeln('в тексте ',k,' предложений..'); end. при выполнени и моей выдает ошибку выполнения времени. индекс находится вне границ массива..

👇
Ответ:
Resh4tor1337
Resh4tor1337
18.01.2023
Var   s: string;
        i,k,c: integer;
begin       
write('Введите текст: ');
        readln(s);
        i := length(s);
        k:=0;
        for i:=1 to length(s) do
        if s[i] in ['.','?','!'] then inc(k);
        if i > 0 then begin
        c := 1;
        while i > 0 do begin
        if s[i] = ' ' then
        inc(c);
        dec(i);
        end;
        end
        else
        c := 0;
        writeln('Количество слов в тексте: ', c);
        writeln('Количество предложений в тексте: ', k);
end.
4,5(35 оценок)
Открыть все ответы
Ответ:
Davidggg
Davidggg
18.01.2023
Var used: Set of Char;
    s1, s2: string;
    i: integer;
    done: boolean;
    c: char;

function IsLetter(c: char): boolean;
begin
  IsLetter := ((c >= 'a') and (c <= 'z')) or ((c >= 'A') and (c <= 'Z'));
end;

function UpperCase(c: char): char;
begin
  if (c >= 'a') and (c <= 'z') then
    UpperCase := Chr(Ord(c) - Ord('a') + Ord('A'))
  else
    UpperCase := c;
end;

begin
used := [];

readln(s1);
readln(s2);

for i := 1 to length(s1) do
  if (IsLetter(s1[i])) then
    include(used, UpperCase(s1[i]));

for i := 1 to length(s2) do
  if (IsLetter(s2[i])) then
    include(used, UpperCase(s2[i]));

done := False;
for c := 'A' to 'Z' do
  if not (c in used) then
  begin
    done := True;
    write(c);
  end;

if not done then
  write(0);

writeln;
end.
4,6(55 оценок)
Ответ:
summercik2009oziid6
summercik2009oziid6
18.01.2023
Var
A,B,C:integer;
Begin
C:=365;
Read(A,B);
if A>1 then C:=C-31;
if A=1 then C:=C-B;
if A>2 then C:=C-28;
if A=2 then C:=C-B;
if A>3 then C:=C-31;
if A=3 then C:=C-B;
if A>4 then C:=C-30;
if A=4 then C:=C-B;
if A>5 then C:=C-31;
if A=5 then C:=C-B;
if A>6 then C:=C-30;
if A=6 then C:=C-B;
if A>7 then C:=C-31;
if A=7 then C:=C-B;
if A>8 then C:=C-31;
if A=8 then C:=C-B;
if A>9 then C:=C-30;
if A=9 then C:=C-B;
if A>10 then C:=C-31;
if A=10 then C:=C-B;
if A>11 then C:=C-30;
if A=11 then C:=C-B;
if A>12 then C:=C-31;
if A=12 then C:=C-B;
Write(C);
End.
4,5(18 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ