Форум программистов, компьютерный форум CyberForum.ru

Составление одной строки из букв другой - C++

Восстановить пароль Регистрация
 
KJGFebc
 Аватар для KJGFebc
0 / 0 / 0
Регистрация: 08.11.2013
Сообщений: 7
12.02.2014, 16:04     Составление одной строки из букв другой #1
Вывести сообщение "МОЖНО", если из букв введённой строки X можно составить введенную строку Y, при условии, что каждую букву строки X можно использовать один раз; и сообщение "НЕЛЬЗЯ" в противном случае.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2014, 16:04     Составление одной строки из букв другой
Посмотрите здесь:

Как присвоить значение одной строки другой C++
запуск одной программы из другой C++
C++ можно ли в с++ вызвать переменную из одной функции в другую т.е. мы переменну задали в одной функции а использовали в другой... и как это реализовать?
C++ Задача на составление строки
Переписать содержимое одной строки в другую изменив порядок букв в первом слове на обратный C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,159
Завершенные тесты: 1
12.02.2014, 16:26     Составление одной строки из букв другой #2
Подскажу алгоритм, думаю будет интересно написать самостоятельно.
1. вводим обе строки.
2. заводим два целочисленных массива размером по 256 чисел и обнуляем их.
3. проходим циклом по первой строке и для каждой буквы увеличиваем значение
элемента массива с номером равным коду буквы на единицу.
4. повторяем для второй строки и второго массива.
5. проходим циклом по первому массиву и сравниваем его ненулевые значения
с соответствующими значениями второго массива. Если каждый раз получаем,
что их больше или равно, то ответ "МОЖНО" иначе "НЕЛЬЗЯ"
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 119
12.02.2014, 16:29     Составление одной строки из букв другой #3
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
31
32
33
34
35
36
37
38
39
#include <iostream.h>
#include <iomanip.h>
#include <string.h>
#include <stdio.h>
 
int main()
{
    int i,n=0,t,k=0;
    char X[50],Y[50];
    puts("vvedite stroky X");
    gets(X);
    n=strlen(X);
    puts("vvedite stroky Y");
    gets(Y);
    t=strlen(Y);
    if(n>t-1)
    {
        for(i=0;i<t;i++)
        {
            if(strchr(X,Y[i])!=0)
            {
                k++;
            }
        }
        if(k==t)
        {
            cout<<" mojno "<<endl;
        }
        else
        {
            cout<<" nelza "<<endl;
        }
    }
    else
    {
        cout<<" nelza "<<endl;
    }
    return 0;
}
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
12.02.2014, 16:31     Составление одной строки из букв другой #4
Хм. Уточни, "первый" и "второй" массивы как относятся к строкам X и Y из условия задачи? А так все верно, алгоритм-то тривиальный....
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,159
Завершенные тесты: 1
12.02.2014, 16:52     Составление одной строки из букв другой #5
petyahohlov, strchr(X,Y[i]) - каждый раз в строке X будет находить первый символ.
А если их несколько?
Такой алгоритм использовать можно, но надо каждый раз из строки X выкидывать найденный символ
(например заменять на что-нибудь).
petyahohlov
27 / 22 / 5
Регистрация: 31.07.2013
Сообщений: 119
12.02.2014, 17:34     Составление одной строки из букв другой #6
Цитата Сообщение от zss Посмотреть сообщение
petyahohlov, strchr(X,Y[i]) - каждый раз в строке X будет находить первый символ.
А если их несколько?
Такой алгоритм использовать можно, но надо каждый раз из строки X выкидывать найденный символ
(например заменять на что-нибудь).
согласен, не подумал. исправлю
Yandex
Объявления
12.02.2014, 17:34     Составление одной строки из букв другой
Ответ Создать тему
Опции темы

Текущее время: 17:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru