Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kessi
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 19
#1

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

11.12.2010, 15:57. Просмотров 1020. Ответов 7
Метки нет (Все метки)

Ребят помогите пожалуста)
Даны две строки st1 и st2. Выяснить можо ли из строки st1 сделать строку st2 путем перестановки символов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2010, 15:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов (C++):

Выяснить, можно ли строку st2 получить из строки st1 путем вычеркивания некоторых символов - C++
Даны две строки st1 и st2. Нужно выяснить, можно ли строку st2 получить из строки st1 путем вычеркивания некоторых символов. #include...

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

Можно ли строку получить из другой строки путем вычеркивания некоторых символов? - C++
Помогите, пожалуйста, решить задачку. даны две строки st1 и st2 . выяснить, можно ли строку st2 получить из строки st1 путем...

Выяснить можно ли с поля (k,l) одним ходом ферьзя попасть на поле(m,n). Если нет, то выяснить, как это можно сделать за два хода - C++
Поле шахмотной доски определяеся парой натуральных чисел, каждая из которых не превосходит восьми: первое число номер вертикали (при счете...

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

Дана строка, состоящая из M попарно различных символов. Вывести все перестановки символов данной строки. - C++
Дана строка, состоящая из M попарно различных символов. Вывести все перестановки символов данной строки. Ввод В первой строке файла...

7
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
11.12.2010, 16:14 #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;   
}
1
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
11.12.2010, 17:27 #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;
}
0
kessi
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 19
11.12.2010, 20:03  [ТС] #4
спасибо )
0
kessi
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 19
12.12.2010, 23:07  [ТС] #5
только у меня вопрос почему в этом коде нельзя в строках ставить пробелы?
0
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
13.12.2010, 03:27 #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;   
}
0
kessi
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 19
13.12.2010, 23:31  [ТС] #7
Мне в этом коде выдает кучу разных ошибок и чесно говоря он мне не понятен
0
Orlk
0 / 0 / 0
Регистрация: 14.11.2016
Сообщений: 1
21.12.2016, 18:18 #8
а можно с помощю указателей??? очень нужно
0
21.12.2016, 18:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2016, 18:18
Привет! Вот еще темы с ответами:

Получить 2 строку из 1 путем вычеркивания символов - C++
Даны две строки st1 и st2. Нужно выяснить, можно ли строку st2 получить из строки st1 путем вычеркивания некоторых символов. Мой ход...

Даны три строки. Определить, можно ли из символов первых двух строк получить третью строку. - C++
Не решается.. (( бьюсь 2 дня.. Код свой приводить не буду дабы не сбивать многоуважаемых программистов с толку)

даны три строки. определить можно ли из символов первых двух строк получить третью строку - C++
даны три строки. определить можно ли из символов первых двух строк получить третью строку.

Рекурсия: Перестановки символов в строки - C++
как сравнивать с предыдущем результатом чтобы не выводил одинаковых результатов. например когда вводите 122 должна выводить 122 212 221....


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.