В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
anlevytska
anlevytska
12.07.2021 04:14 •  Информатика

Задание
У вас есть четыре документа:
a fat cat sat on a mat and ate a fat rat,
little funny fluffy cat,
the cat,
huge green crocodile.
И есть стоп-слова: “a”, “the”, “on”, “cat”. Приходит запрос: funny fat cat. Найдите все документы, где есть хотя бы одно слово из запроса. Учтите стоп-слова и не включайте их в результаты поиска. Примерный алгоритм:
Берёте слово из запроса, проверяя, что это не стоп-слово;
Ищете слово в контейнере;
Спрашиваете у контейнера, в каких документах это слово встречается. У контейнера уже есть ответ;
Добавляете индексы документов к результату;
Повторяете все шаги для каждого из слов в запросе;
Помещаете все результаты в вектор и отправляете пользователю.
Упомянутый в алгоритме контейнер — это map. Ключом в map будет слово, а значением — некий контейнер документов, в которых это слово встречается. Важно правильно записывать в словарь элементы в момент добавления документа.
Запрос funny fat cat должен сработать так:
Берёте слово “funny”, которое не входит в список стоп-слов;
Обращаетесь к словарю и находите в нём “funny”;
В словаре по ключу “funny” уже должен быть записан документ 1;
Добавляете документ 1 в результирующий вектор;
Берёте слово “fat”. Оно тоже не входит в список стоп-слов;
В словаре по ключу “fat” лежит документ 0;
Добавляете документ к результату;
“Cat” — стоп-слово, поэтому оно вам не интересно;
Возвращаете пользователю вектор с двумя элементами: 0 и 1.
Напишите функции AddDocument и FindDocuments, которые бы реализовывали решение описанной задачи. AddDocument должна заполнять индекс word_to_documents:
void AddDocument(map >& word_to_documents,
const set & stop_words,
int document_id,
const string& document);
Функция FindDocuments должна искать и выдавать требуемые идентификаторы документов в виде вектора:
vector FindDocuments(const map >& word_to_documents,
const set & stop_words,
const string& query);
В векторе с результатами не должно быть повторов. Используйте для избегания дубликатов контейнер set как промежуточный. При копировании из set в вектор результатов не меняйте порядок элементов.
Не меняйте сигнатуру FindDocuments.
СТРОКА СТОП-СЛОВ ЧИСЛО ДОКУМЕНТОВ ДОКУМЕНТ0 ДОКУМЕНТ1 ДОКУМЕНТ2 ДОКУМЕНТ3 ЗАПРОС
a the on cat 4 a fat cat sat on a mat and ate a fat rat little funny fluffy cat the cat huge green crocodile funny fat cat
Вывод (id документов):
0
1

Показать ответ
Ответ:
Лера568687
Лера568687
29.12.2022 22:41
1.Найти фотографии своего класса.
2.Создать первый слайд:Вставить фотографию всего класса,написать кто сделал презентацию и сделать надпись "Наш класс".
3.Сделать второй слайд: написать о своём классном руководителе,вставить его фото и сделать заголовок.
4.Сделать четвертый слайд:написать о себе,вставить своё фото и сделать заголовок.
5.Создавать  слайдов столько сколько у тебя одноклассников,делать их так же как про себя.Спрашивать у них про них.
6.Предпоследний слайд сделать с пожеланиями своим одноклассникам.
7.На последнем слайде можно поставить красивую картинку или смайл и написать за внимание!
0,0(0 оценок)
Ответ:
Аня29718282
Аня29718282
21.07.2020 11:50
1. Формат с фиксированной запятой (фиксированной точкой) предполагает размещение знака числа в самом старшем (левом) бите, а остальные биты отводятся под двоичное представление числа. Сама десятичная точка (запятая) не хранится, она подразумевается. Наибольшее распространение получили два представления чисел: когда запятая фиксируется после самого младшего разряда (и тогда мы имеем целое число с нулевой дробной частью), либо когда запятая фиксируется сразу после знакового разряда (и тогда мы имеем десятичную дробь с нулевой целой частью). В процессорах фирмы Intel и программно совместимых с ними, отдельное представление данных с фиксированной точкой отсутствует; в качестве такого представления используются целые числа, что фактически совпадает с первым из описанных При этом в двух байтах под разряды числа отводятся 15 бит. Следовательно, максимальное число может быть равно 2^15-1=32767.

2. Ноль в знаковом разряде означает, что число неотрицательное.

3. В коде ASCII для кодировки символов используется таблица размером 256 символов, так что символ занимает один байт. При этом первая половина таблицы (коды 0-127) фиксирована, а вторая может заполняться символами национальных алфавитов, поэтому существует множество кодовых таблиц ASCII. Например, в системе MS DOS для России используется кодовая таблица CР866, а в Windows - СР1251 В UNICODE для кодирования символа используются два байта, что позволяет иметь 65536 кодов.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота