0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 3
1

Создать строку, состоящую из символов, которые входят как в одну, так и в другую строку (не string-ом)

06.12.2017, 19:34. Показов 3593. Ответов 5

Условие:
Заданы две строки. Построить новую строку, состоящую из символов, которые входят как в одну, так и в другую строку

Здесь я только вывел и соединил строки. Помогите пожалуйста сделать как в условии
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main() 
{
    char s1[] = "goodjobser";
    char s2[] = "yourtowers";
    cout << s1;
    cout << endl;
    cout << s2;
    cout << endl;
    strcat(s1,s2);
    cout << s1;
    system("pause");
        return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2017, 19:34
Ответы с готовыми решениями:

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

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

Заданы 2 строки. Построить новую строку, состоящую из символов которые входят в 1 строку но не входят во 2
Заданы 2 строки. Построить новую строку, состоящую из символов которые входят в 1 строку но не...

Создать новую строку из символов 1-ой заданной строки, которые не входят во вторую заданную строку
Pascal:Создать новую строку из символов 1-ой заданной строки, которые не входят во вторую заданную...

5
279 / 251 / 209
Регистрация: 14.11.2016
Сообщений: 948
06.12.2017, 19:50 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cstring>
 
int main()
{
    char str[] = "Hello ";
    char str2[] = "World!";
    char res[std::strlen(str) + std::strlen(str2) + 1] = { '\0' }; // '+1' - под '\0'
    std::strcat(res, str);
    std::strcat(res, str2);
    std::cout << res << std::endl;
}
0
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 3
06.12.2017, 20:25  [ТС] 3
Выдаёт ошибку

Вызов функции strlen должен иметь постоянное значение в константном выражении

Добавлено через 7 минут
Выдаёт ошибку

Вызов функции strlen должен иметь постоянное значение в константном выражении
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
06.12.2017, 20:27 4
Forestn,
C++
1
2
3
char *res = new char[std::strlen(str) + std::strlen(str2) + 1];
...
delete [] res;
Плюс вряд ли предполагалось, что вы будете решать задание через strcat.
Ну и да, в вашем коде вы выходите за границы массива s1.
1
0 / 0 / 0
Регистрация: 27.11.2017
Сообщений: 3
06.12.2017, 21:11  [ТС] 5
alex white, Выдаёт все те же ошибки. Зря не упомянул, но задание надо сделать как раз с помощью функций strcat, strlen и т.д.
0
734 / 550 / 308
Регистрация: 24.02.2017
Сообщений: 1,940
06.12.2017, 21:27 6
Лучший ответ Сообщение было отмечено Forestn как решение

Решение

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
 char s1[] = "goodjobser";
  char s2[] = "yourtowers";
  int arr[127]={0},i=0;
  char s[2]="\0";
 
  while(s1[i]!='\0')
    {
      arr[s1[i]]++;
      i++;
    }
  i=0;
  while(s2[i]!='\0')
    {
       arr[s2[i]]++;
       i++;
    }
  strcpy(s1,"");
  for(i=0;i<127;i++)
  if(arr[i]/2>0)
    for(int j=0;j<arr[i]/2;j++)
      {
         s[0]=i;
         strcat(s1,s);
      }
  cout<<s1;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2017, 21:27
Помогаю со студенческими работами здесь

ввести строку длиной 70 символов, а в другую строку перенести все слова из этой строки, которые имеют удвоение букв.
помогите сделать .!!!!! нужно ввести строку длиной 70 символов, а в другую строку перенести все...

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru