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

Написать код дан файл, содержащий текст на языке и некоторые два слова. определить, сколько раз они встречаются в тексте и сколько из них — непосредственно друг за другом.

👇
Ответ:
Dania243205
Dania243205
31.07.2021
Program primer;
var
  f: text;
  i, j, h: byte;
  l, k: smallint;
  s, s1, s2, m: string;
begin
assign(f, 'F.txt'); {путь к файлу}
  reset(f);
   read(f, s);
  s := ' ' + s + ' ';
  close(f);
  writeln('укажите 2 слова через строчку');
  readln(s1);
  readln(s2);
  i := 0; j := 0; m := s; k := 1;
  while k <> 0 do
   begin
    k := pos(' ' + s1 + ' ', m);
    if (k <> 0) then inc(i);
    delete(m, 1, k + length(s1));
  end;
  k := 1; m := s;
  while k <> 0 do
   begin
    k := pos(' ' + s2 + ' ', m);
    if (k <> 0) then inc(j);
    delete(m, 1, k + length(s2));
  end;
  m := s; k := 1; h:=0;
  while (k <> 0) or (l <> 0) do
   begin 
    k := pos(' ' + s1 + ' ' + s2 + ' ', m);
    l := pos(' ' + s2 + ' ' + s1 + ' ', m);
    if (k <> 0) or (l <> 0) then inc(h);
     delete(m, 1, k + l + length(s2 + s1) + 1);
   end;
 writeln('количество слов соответствующих первому = ', i);
 writeln('количество слов соответствующих второму = ', j);   writeln('непосредственно друг за другом   х', h);
end.
4,7(75 оценок)
Открыть все ответы
Ответ:
MaykTV26
MaykTV26
31.07.2021
1 вариант через строку

var 
  n,a,k,sum,i,j: integer; 
  s: string; 
begin
  sum:=0; 
  write ('Введите количество чисел: ');
  readln (n);
  for i:=1 to n do begin 
    write ('Введите число: ');
    readln (a);
    Str(a,s);
    k:=0;
    for j:=1 to length(s) do 
      if s[j]='5' then k:=k+1;
    if k=2 then sum:=sum+a;
  end;  
  writeln ('Sum = ',sum);
end.

2 вариант через div и mod

var 
  n,a,x,k,sum,i: integer; 
begin
  sum:=0; 
  write ('Введите количество чисел: ');
  readln (n);
  for i:=1 to n do begin 
    write ('Введите число: ');
    readln (a);
    x:=abs(a);
    k:=0;
    while x>0 do begin
      if x mod 10 =5 then k:=k+1;
      x:=x div 10;
    end;
    if k=2 then sum:=sum+a;
  end;  
  writeln ('Sum = ',sum);
end.

пример результата:

Введите количество чисел: 3
Введите число: 550001
Введите число: -550000
Введите число: 123456
Sum = 1
4,7(47 оценок)
Ответ:
Sofochka1309
Sofochka1309
31.07.2021
Var
  xl,xr,h,x:real;
  i:integer;
begin
  Write('Введите левую и правую границы изменения х, затем шаг: ');
  Read(xl,xr,h);
  for i:=1 to Trunc((xr-xl)/h)+1 do begin
    x:=xl+(i-1)*h;
    Writeln(x:0:4,'  ',abs(sin(x))+cos(abs(x)))
    end
end.

Пример
Введите левую и правую границы изменения х, затем шаг: 1.2 3 0.18
1.2000  1.2943968404439
1.3800  1.17149436167019
1.5600  1.01073783728823
1.7400  0.817321730886476
1.9200  0.597495822534427
2.1000  0.358363262049017
2.2800  0.107651047653376
2.4600  -0.146539653537401
2.6400  -0.395995275405633
2.8200  -0.632655254626053
3.0000  -0.848872488540578
4,6(3 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ