Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 25.05.2022
Сообщений: 4

Проверка ошибок в слове

06.10.2022, 21:41. Показов 939. Ответов 7

Студворк — интернет-сервис помощи студентам
"Дано словарное слово, необходимо ввести в текстовое поле правильный вариант ответа. Проверьте его ответ и сообщите в каком символе он допустил ошибку, если она есть.".
Как проверить слово на лишние или отсутствующие буквы?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2022, 21:41
Ответы с готовыми решениями:

Строки. Исправление ошибок в слове
Дано ошибочно написанное слово "иинформация". Путем перемещения его букв получить слово "информация". Заранее спасибо.

Какое количество ошибок в кодовом слове может исправить код Хемминга (4, 7)?1
Какое количество ошибок в кодовом слове может исправить код Хемминга (4, 7)? 1. 2 2. 4 3. 1 4. 7

Какое количество ошибок в кодовом слове может исправить код Хемминга
Какое количество ошибок в кодовом слове может исправить код Хемминга (8, 15)? 1. 2 2. 7 3. 4 4. 1

7
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
06.10.2022, 21:57
Расстояние Левенштейна раздел "Редакционное предписание".
1
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
07.10.2022, 00:00
Цитата Сообщение от Manan669 Посмотреть сообщение
Как проверить слово на лишние или отсутствующие буквы?
Думаю, что можно сделать так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function check(sample, word) {
  function diff(setA, setB) {
    setA.forEach(Set.prototype.delete, setB);
    if (setB.size > 0) {
      return [...setB];
    }
 
    return false;
  }
    
  const a = sample.toLowerCase();
  const b = word.toLowerCase();
  const extra = diff(new Set(a), new Set(b));  
  const missed = diff(new Set(b), new Set(a));
 
  return extra || missed ? {
    extra,
    missed
  } : 'True';
}
Но тогда, например, такой кейс выдаст true:
JavaScript
1
console.log(check('Abcde', 'aabcde'));
Что, скорее всего не то, что нужно. Дополните задачу. Можно примерами.
0
0 / 0 / 0
Регистрация: 25.05.2022
Сообщений: 4
07.10.2022, 06:52  [ТС]
Например если дано слово "аккорд" а пользователь в prompt вводит "акорд" или "акорда", выводит alert о том что есть одна ошибка и отсутствует буква "к" или лишняя буква "а"
Проверка при одинаковой длине слов через перебор символов и при несостыковке - заполнение неправильным символом массива
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
07.10.2022, 18:31
Цитата Сообщение от Manan669 Посмотреть сообщение
если дано слово "аккорд" а пользователь в prompt вводит "акорд" или "акорда"
А если вводит "акордк"? Лишних или отсутствующих букв нет, но порядок их следования неправильный - что нужно выводить?
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
07.10.2022, 23:00
Наверное, сами различия, начиная с момента их обнаружения. Примерно так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const typo = (a1, a2) => Array.from(
  Array(Math.max(a2.length, a1.length)),
  (_, i) => [a1[i], a2[i]]
).filter(x => x[0] !== x[1]);
 
const fn = (w, i) => {
  return new RegExp(`${w}`, 'i').test(i)
    ? 'Одинаковы' : typo([...w], [...i]);
}
 
/*
 * console.log(fn('аккорд', 'акорд')); // [ [ 'к', 'о' ], [ 'о', 'р' ], [ 'р', 'д' ], [ 'д', undefined ] ]
 * console.log(fn('Аккорд', 'аккорд')); // Одинаковы
 */
0
0 / 0 / 0
Регистрация: 25.05.2022
Сообщений: 4
08.10.2022, 13:34  [ТС]
Цитата Сообщение от Tavashi Посмотреть сообщение
А если вводит "акордк"? Лишних или отсутствующих букв нет, но порядок их следования неправильный - что нужно выводить?
Выполнила это через сравнение символов двух данных слов как в массивах и при ошибке - заполнение этими символами массива + вывод в каких символах ошибка
JavaScript
1
2
3
4
5
6
7
8
9
if(aa.length==sl.length){
    for(let i=0;i<aa.length;i++){
        if(aa[i]!=sl[i]){
            arr1[j] = i + 1;
            j++; 
        }
    }
    document.write("Ошибка в символе - " + arr1);
}
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
08.10.2022, 16:32
Manan669, если лишних и отсутствующих букв не имеется, но порядок неправильный, то почему бы не выводить те буквы, которые на своих местах?
Например, вводим 'акордк' и нам выдает: а, к, _, _, _, _
Почти как в Поле Чудес получается. =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.10.2022, 16:32
Помогаю со студенческими работами здесь

Какое количество ошибок в кодовом слове может исправить код Хемминга (4, 7)?1
Какое количество ошибок в кодовом слове может исправить код Хемминга (4, 7)? 1. 1 2. 2 3. 7 4. 4

Какое количество ошибок в кодовом слове может исправить код Хемминга (8, 15)?1
Какое количество ошибок в кодовом слове может исправить код Хемминга (8, 15)? 1. 2 2. 7 3. 4 4. 1

Проверка ошибок
Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt Вывод стандартный вывод или output.txt ...

Проверка ошибок
Всем привет. Вопрос такой. Пользователь может тыкнуть не туда и запустить большой барбум, сломав программу. Зайти туда куда не нужно. Как с...

проверка ошибок
непонял как из html код переделать на php поясните пожалуйста, и укажите на ошибки задание: &lt;?php $p=$_GET ; if($p!=1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru