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

Висходной строке а определить количество слов содержащих ровно п символов строки х.

👇
Ответ:
polina2004121
polina2004121
08.01.2023
Const
  delim = [' ', ',', '.', ':', ';', '!', '?'];{Набор разделителей}

procedure GetWord(s: string; var ib: integer; var pWord: string; var l: integer);
// Возвращает слово pWord, которое является подстрокой s
// Разделителем слов являются один или более символов из delim.
// ib при вызове процедуры указывает на позицию в строке s,
// начиная с которой ведется поиск слова.
// При выходе из процедуры ib - позиция начала найденного слова,
// l- длина найденного слова, l=0 если слово не найдено.
var
  i, n: integer;
  w: string;
begin
  n := Length(s);
  l := 0;
  w := '';
  if ib >= n then begin
    ib := n;
    pWord := ''
  end
  else begin
    i := ib;
    while (s[i] in delim) and (i < n) do i := i + 1;
    ib := i;
    w := '';
    while (not (s[i] in delim)) and (i < n) do
    begin
      w := w + s[i];
      i := i + 1
    end;
    if i < n then begin
      l := i - ib;
      pWord := w
    end
    else begin
      l := i - ib + 1;
      pWord := w + s[n]
    end
  end
end;

var
  w, x, a: string;
  n, k, i: integer;

begin
  write('Введите длину искомых слов n: ');
  readln(n);
  writeln('Введите строку с искомыми словами (где искать):');
  readln(a);
  writeln('Введите строку с шаблоном поиска (что искать):');
  readln(x);
  writeln('Результаты поиска:');
  i := 1;
  repeat
    GetWord(a, i, w, k);
    if k = n then
    begin
      if Pos(w, x) > 0 then writeln(w);
    end;
    i := i + k
  until k = 0;
end.

Тестовое решение:

Введите длину искомых слов n: 4
Введите строку с искомыми словами (где искать):
Мама мыла раму, Маша мыла полы, а Таня не мыла ничего!
Введите строку с шаблоном поиска (что искать):
Даша перемыла всю посуду.
Результаты поиска:
мыла
мыла
мыла
4,4(4 оценок)
Открыть все ответы
Ответ:
рух123
рух123
08.01.2023
а)свойства, действия, поведение, состояние
б) Отвечают на вопрос: "Чем может отличаться один объект от другого?" "Что может изменится у объекта при выполнении действия?!
в) Отвечают на вопрос: "Что он может делать?" (активное действие) или "Что с ним можно делать?" (пассивное действие)
г) имена действий, пошаговое составление описания каждого действия свойственного объекту.
д) человек называет или подразумевает определённое сочетание значений всех или некоторых свойств этого объекта                                                                            Может так?
4,4(97 оценок)
Ответ:
костя140
костя140
08.01.2023

#include <iostream>

#include <algorithm>

#include <string>

#include <vector>

using namespace std;

int main()

{

    // Номер 1

   vector <string> days;

   for (int i = 0 ; i < 7 ; ++i)

   {

       string temp;

       cin >> temp;

       days.push_back(temp);

   }

   

   

   //Номер 2

   int max1 = -2000000000;

   int max2 = -2000000000;

   vector <int> arr { 15, 48, 0, 144 , 52};

   for(int i = 0 ; i < arr.size() ; ++i)

       max1 = (arr[i] > max1 ? arr[i] : max1);

       

   for(int i = 0 ; i < arr.size() ; ++i)

       max2 = (arr[i] > max2 && arr[i] != max1 ? arr[i] : max2);

   cout << "Максимум 1: " << max1 << " Максимум 2: " << max2;

   

   

   //Номер 3

   vector <int> numbers { 15, 24, 48, -5 , 0 , -10};

   cout << count_if(numbers.begin(), numbers.end(), [] (int a) { return a > 0;});

   

   return 0;

}

4,8(55 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ