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

Программа, проверяющая, можно ли введенное с клавиатуры слово составить из букв исходного слова

30.11.2016, 11:41. Показов 2602. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вводятся с клавиатуры предложение, затем слово, которое надо составить из букв первого предложения. проверить можно ли составить. программа работает верно, но не понятен алгоритм в функции Check, может кто сможет объяснить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<iostream>
#include<cstring>
#include<clocale>
#include<cstdio>
using namespace std;
    int Check(char *x, char *y)
    {
        int i, count[256] = { 0 };
        while (*x)
            ++count[*x++];
        while (*y && --count[*y++] >= 0);
        return *y == '\0';
    }
 
    int main()
    {
    
        setlocale(LC_ALL, "Russian");
        char x[1024], y[1024];
        setlocale(LC_ALL, "");
        cout<<"\nВведите первое слово \n";
        fgets(x, 1024, stdin);
        cout<<"\nВведите Второе слово \n";
        fgets(y, 1024, stdin);
        if (Check(x, y))
        cout << "можно"<<endl;
        else cout << "нельзя"<<endl;
        system("pause");
        return 0;
    }
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2016, 11:41
Ответы с готовыми решениями:

Программа, которая проверяет, можно ли введенное с клавиатуры слово (stroka_2) составить из букв исходного слова
#include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;locale.h&gt; int Check(char *s, char *t) { int i, count = {0}; while(*s) ...

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

Задана строка. Определить, содержит ли строка достаточно букв,чтобы составить слово, введенное с клавиатуры.
Помогите решить пожалуйста)) Надо в Turbo Delphi 2006!!! Заранее спасибо))) Задана строка. Определить, содержит ли строка достаточно...

3
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
30.11.2016, 11:46
Лучший ответ Сообщение было отмечено actimel35 как решение

Решение

Цитата Сообщение от actimel35 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
int Check(char *x, char *y)
{
    int i, count[256] = { 0 };
    while (*x) // сдвигаемся по строчке x
        ++count[*x++]; // увеличивая счётчик найденных букв на 1 (используем код символа как индекс массива)
    while (*y && --count[*y++] >= 0); // пока двигаемся по строке y и в массиве счётчика у элементов с кодом символа значение неотрицательное
        return *y == '\0'; // мы успешно прошлись по всей строке y и все символы имели счетчик больше 0, то есть условие выполнено
}
как-то так
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
30.11.2016, 11:46
Сначала подсчёт различных символов и сохранение в count. Скажем, count['z'] - количество букв z.
Затем обратный процесс - уменьшение счётчиков; если где-то минус, то символов не хватило.
1
0 / 0 / 1
Регистрация: 11.10.2016
Сообщений: 19
30.11.2016, 11:49  [ТС]
спасибо всем ответившим, теперь стало понятно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2016, 11:49
Помогаю со студенческими работами здесь

Задана строка. Определить, содержит ли строка достаточно букв,чтобы составить слово, введенное с клавиатуры
Задана строка. Определить, содержит ли строка достаточно букв,чтобы составить слово, введенное с клавиатуры

Строка: Составить программу,определяющую можно ли из букв слова А составить слово В.
Даны два слова.Составить программу,определяющую можно или нет из букв слова А составить слово В.

Составить программу выясняющую, можно из букв входящих в слова Х, составить слово Y
Если у кого есть такая лаба, буду искренни благодарен за нее:) Ну или может кто нибудь может сделать ее, если для него это не проблема) ...

Дано слово р и файл f. Найти в файле f все слова, которые можно составить из букв слова р
Дано слово р и файл f. Найти в файле f все слова, которые можно составить из букв слова р.

Можно ли из букв слова X составить слово Y?
проверьте , можно ли из букв слова Х составить слово У.Пожалуйста помогите , вобще не понимаю как это делать(


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru