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

Напечатать только те символы, которые встречаются в обоих словах - C++

Восстановить пароль Регистрация
 
keeeksik
2 / 2 / 0
Регистрация: 05.12.2010
Сообщений: 9
05.12.2010, 16:55     Напечатать только те символы, которые встречаются в обоих словах #1
Прошу помочь вот с этим заданием, и если не затруднит с пояснением, что для чего, а то я в строках вообще уплыл(
заранее благодарю.

:

1)Даны два слова, напечатать только те символы, которые встречаются в обоих сло-вах одновременно. Например, для слов процессор и информация. Ответом должно быть: роц.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2010, 16:55     Напечатать только те символы, которые встречаются в обоих словах
Посмотрите здесь:

C++ задача на строки на С.Даны 2 слова.Напечатать только те буквы слов,которые встречаются в обоих словах только один раз.
Из заданной символьной строки выбрать те символы, которые встречаются в ней только один раз, в том порядке, в котором они встречаются в тексте C++
Даны два слова, напечатать только те символы, которые встречаются только в одном из слов C++
C++ напечатать только те символы, которые встречаются только в одном из слов
C++ Напечатать только те буквы слов, котрые встречаются в обоих словах только один раз
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
05.12.2010, 17:03     Напечатать только те символы, которые встречаются в обоих словах #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
#include<iostream>
using namespace std;
void main(){
char str1[250]={};
char str2[250]={};
cin>>str1;
cin>>str2;
int len1=strlen(str1);
int len2=strlen(str2);
char str3[200]={};
int count=0;
for(int i=0;i<len1;i++)
{
for(int j=0;j<len2;j++)
{
if((str1[i]==str2[j])&&(str3[cout-1]!=str3[count]))
{
strcat(str3,str1);
count++;
}
}
}
cout<<str3;
cout<<endl;
}
не проверял, могут быть ошибки, пишите
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
05.12.2010, 17:04     Напечатать только те символы, которые встречаются в обоих словах #3
Цитата Сообщение от Crudelis Посмотреть сообщение
for(int o=0;i<len1;i++)
C++
1
for(int i=0;i<len1;i++)
keeeksik
2 / 2 / 0
Регистрация: 05.12.2010
Сообщений: 9
05.12.2010, 17:13  [ТС]     Напечатать только те символы, которые встречаются в обоих словах #4
10 ошибок
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
05.12.2010, 17:15     Напечатать только те символы, которые встречаются в обоих словах #5
keeeksik, вот поэтому умные сначала пишут свою среду
keeeksik
2 / 2 / 0
Регистрация: 05.12.2010
Сообщений: 9
05.12.2010, 17:16  [ТС]     Напечатать только те символы, которые встречаются в обоих словах #6
Цитата Сообщение от Darky Посмотреть сообщение
keeeksik, вот поэтому умные сначала пишут свою среду
ну извините, не учел этого, Microsoft Visual Studio 2008
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
05.12.2010, 17:23     Напечатать только те символы, которые встречаются в обоих словах #7
Darky, а ты свою написал?
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
05.12.2010, 17:26     Напечатать только те символы, которые встречаются в обоих словах #8
aram_gyumri,поиграем в одесситов? я начинаю.

Я просил помочь с кодом?

теперь твоя очередь
dr.curse
 Аватар для dr.curse
386 / 342 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
05.12.2010, 17:39     Напечатать только те символы, которые встречаются в обоих словах #9
keeeksik, вот решение задачи, ошибок нет но есть варнинги но на них внимание не обращай
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
using namespace std;
void main()
{
    char str1[250],str2[250];
    string s;
    cin >> str1;
    cin >> str2;
    int len1=strlen(str1),len2=strlen(str2);
    for (int i=0;i<len1;i++)
    {
        for (int j=0;j<len2;j++)
            if (str1[i]==str2[j]) s+=str1[i];
    }
    cout << s << endl;
}
Если нужно обястнение пиши по ЛЦ
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
05.12.2010, 17:47     Напечатать только те символы, которые встречаются в обоих словах #10
aram_gyumri, результат роцор а нужно роц

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
40
41
#include<iostream>
#include<windows.h>
using namespace std;
void main(){
char str1[250];
char str2[250];
gets(str1);
gets(str2);
OemToCharA(str1,str1);
OemToCharA(str2,str2);
int len1=strlen(str1);
int len2=strlen(str2);
char str3[200];
str3[0]='\0';
int count=0;
for(int i=0;i<len1;i++)
{
        for(int j=0;j<len2;j++)
        {
        if(str1[i]==str2[j])
        {
            int q=0;
            for(int a=0;a<count;a++)
            {
                if(str3[a]==str1[i])
                    q++;
            }
                if(q==0||count==0)
                {       
                    str3[count]=str1[i];
                    count++;
                }
 
        }
}
}
str3[count]='\0';
CharToOemA(str3,str3);
cout<<str3;
cout<<endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2010, 15:36     Напечатать только те символы, которые встречаются в обоих словах
Еще ссылки по теме:

Нужно выяснить, какие символы встречаются в обеих строках, так же и те, которые встречаются только в одной C++
Выбрать из текста только те символы, которые встречаются в нем только один раз C++
Из предложения напечатать те символы, которые встречаются в нем ровно один раз C++

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

Или воспользуйтесь поиском по форуму:
keeeksik
2 / 2 / 0
Регистрация: 05.12.2010
Сообщений: 9
06.12.2010, 15:36  [ТС]     Напечатать только те символы, которые встречаются в обоих словах #11
Цитата Сообщение от Crudelis Посмотреть сообщение
aram_gyumri, результат роцор а нужно роц

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
40
41
#include<iostream>
#include<windows.h>
using namespace std;
void main(){
char str1[250];
char str2[250];
gets(str1);
gets(str2);
OemToCharA(str1,str1);
OemToCharA(str2,str2);
int len1=strlen(str1);
int len2=strlen(str2);
char str3[200];
str3[0]='\0';
int count=0;
for(int i=0;i<len1;i++)
{
        for(int j=0;j<len2;j++)
        {
        if(str1[i]==str2[j])
        {
            int q=0;
            for(int a=0;a<count;a++)
            {
                if(str3[a]==str1[i])
                    q++;
            }
                if(q==0||count==0)
                {       
                    str3[count]=str1[i];
                    count++;
                }
 
        }
}
}
str3[count]='\0';
CharToOemA(str3,str3);
cout<<str3;
cout<<endl;
}

а можно хотя бы чуть чуть объяснений к этому?? если не сложно конечно..
буду очень благодарен..
Yandex
Объявления
06.12.2010, 15:36     Напечатать только те символы, которые встречаются в обоих словах
Ответ Создать тему
Опции темы

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