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

Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов - C++

Восстановить пароль Регистрация
 
kessi
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 19
11.12.2010, 15:57     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов #1
Ребят помогите пожалуста)
Даны две строки st1 и st2. Выяснить можо ли из строки st1 сделать строку st2 путем перестановки символов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2010, 15:57     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов
Посмотрите здесь:

Даны три строки. Определить, можно ли из символов первых двух строк получить третью строку. C++
Выяснить можно ли с поля (k,l) одним ходом ферьзя попасть на поле(m,n). Если нет, то выяснить, как это можно сделать за два хода C++
даны три строки. определить можно ли из символов первых двух строк получить третью строку C++
C++ Дана строка, состоящая из M попарно различных символов. Вывести все перестановки символов данной строки.
Можно ли строку получить из другой строки путем вычеркивания некоторых символов? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mr.X
Эксперт С++
 Аватар для Mr.X
2799 / 1575 / 246
Регистрация: 03.05.2010
Сообщений: 3,656
11.12.2010, 16:14     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов #2
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
//////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <set>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
typedef std::string          T_str;
typedef std::multiset<char>  T_char_multiset;
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Строка A: ";
    T_str  str_A;
    std::cin >> str_A;
    T_char_multiset  multiset_A(str_A.begin(), str_A.end());
 
 
    std::cout << "Строка B: ";
    T_str str_B;
    std::cin >> str_B;
    T_char_multiset  multiset_B(str_B.begin(), str_B.end());
 
    std::cout << "Из строки A "
              << (multiset_A == multiset_B ? "можно" : "нельзя")
              << " составить строку B путем перестановки символов."
              << std::endl;   
}
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
11.12.2010, 17:27     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов #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
#include <stdio.h>
#include <stdlib.h>
 
int cmp(const void* a, const void* b)
{
   if(*(const char*)a < *(const char*)b) return -1;
   else if(*(const char*)a == *(const char*)b) return 0;
   return 1;
}
 
#define N 10
 
int main()
{   
   char str1[N] = {'\0'};
   char str2[N] = {'\0'};
 
   printf("Input string1: ");
   fgets(str1, N, stdin);
 
   printf("Input string2: ");
   fgets(str2, N, stdin);
 
   qsort(str1, strlen(str1), sizeof(char), cmp);
   qsort(str2, strlen(str2), sizeof(char), cmp);   
 
   puts( !strcmp(str1, str2)? "yes" : "no");
      
   return 0;
}
kessi
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 19
11.12.2010, 20:03  [ТС]     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов #4
спасибо )
kessi
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 19
12.12.2010, 23:07  [ТС]     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов #5
только у меня вопрос почему в этом коде нельзя в строках ставить пробелы?
Mr.X
Эксперт С++
 Аватар для Mr.X
2799 / 1575 / 246
Регистрация: 03.05.2010
Сообщений: 3,656
13.12.2010, 03:27     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов #6
Цитата Сообщение от kessi Посмотреть сообщение
только у меня вопрос почему в этом коде нельзя в строках ставить пробелы?
Вот в этой программе можно:
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
//////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <set>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
typedef std::string          T_str;
typedef std::multiset<char>  T_char_multiset;
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Строка A: ";
    T_str  str_A;
    getline(std::cin, str_A);
    T_char_multiset  multiset_A(str_A.begin(), str_A.end());
 
 
    std::cout << "Строка B: ";
    T_str str_B;
    getline(std::cin, str_B);
    T_char_multiset  multiset_B(str_B.begin(), str_B.end());
 
    std::cout << "Из строки A "
              << (multiset_A == multiset_B ? "можно" : "нельзя")
              << " составить строку B путем перестановки символов."
              << std::endl;   
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2010, 23:31     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов
Еще ссылки по теме:

C++ Получить 2 строку из 1 путем вычеркивания символов
Дан одномерный целочисленный массив. Определить, можно ли получить из данной последовательности симметричную (палиндром) путем перестановки в исходной C++
Выяснить, можно ли из строки str1 получить строку str2 путем перестановки символов C++

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

Или воспользуйтесь поиском по форуму:
kessi
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 19
13.12.2010, 23:31  [ТС]     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов #7
Мне в этом коде выдает кучу разных ошибок и чесно говоря он мне не понятен
Yandex
Объявления
13.12.2010, 23:31     Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов
Ответ Создать тему
Опции темы

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