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

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

Восстановить пароль Регистрация
 
maximuss
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 148
17.01.2013, 23:55     Нужно выяснить, какие символы встречаются в обеих строках, так же и те, которые встречаются только в одной #1
Вводим две строки символов. Нужно выяснить, какие символы встречаются в обеих строках, так же и те, которые встречаются только в одной. Вывести их.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<string>
#include <conio.h>
using namespace std;
int main()
{
char a[]="Hi all peoples";
char b[]="Hey, all";
int i=0,k=0;
 
do{
    if(a[i]==b[i])
        k++;
    i++;
}
while(a[i],b[i]!='\0');
 
cout<<"simvols v dvux strokah ="<<a[i],b[i];
 
 
getch();
return 0;
}
Вот наброски. Но ничего не выходит :С
Там все не правильно, по этому хотелось что бы вы помогли. :С
Зарание спасибо

Добавлено через 6 часов 54 минуты
Ребят,, задача не выводит то что нужно :С
Какое нужно условие что бы оно подсчитало какие символы встречаются в обеих строках, а какие только в одной
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2013, 23:55     Нужно выяснить, какие символы встречаются в обеих строках, так же и те, которые встречаются только в одной
Посмотрите здесь:

Напечатать только те символы, которые встречаются в обоих словах C++
Из заданной символьной строки выбрать те символы, которые встречаются в ней только один раз, в том порядке, в котором они встречаются в тексте C++
Даны два слова, напечатать только те символы, которые встречаются только в одном из слов C++
C++ Напечатать только те символы, которые встречаются только в одном из слов
Оставить в строке только те символы, которые встречаются один раз C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
18.01.2013, 00:29     Нужно выяснить, какие символы встречаются в обеих строках, так же и те, которые встречаются только в одной #2
попробуй это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<iostream>
using namespace std;
bool findsym(char * pointer,int size,char ch) {
    for(int i=0;i<size;i++)
        if(pointer[i]==ch)
            return true; //всетречается
    return false;
}
int main()
{
char a[]="Hi all peoples";
char b[]="Hey, all";
 
    for(int i=0; i<(sizeof(a)/sizeof(char)-1); i++)
        if(findsym(b,(sizeof(b)/sizeof(char)-1),a[i])) {
            cout << "a and b symbol: " << a[i] << endl;
        } else {
            cout << "only a        : " << a[i] << endl;
        }
 
    cin.get();
}
maximuss
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 148
18.01.2013, 00:38  [ТС]     Нужно выяснить, какие символы встречаются в обеих строках, так же и те, которые встречаются только в одной #3
Все работает) Спасибо вам еще раз огромное
только не совсем понял bool findsym(char * pointer
Если не сложно, можете конкретнее в общих чертах пояснить?
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
18.01.2013, 00:49     Нужно выяснить, какие символы встречаются в обеих строках, так же и те, которые встречаются только в одной #4
Цитата Сообщение от maximuss Посмотреть сообщение
Все работает) Спасибо вам еще раз огромное
только не совсем понял bool findsym(char * pointer
Если не сложно, можете конкретнее в общих чертах пояснить?
Я просто вынес поиск некоторого символа(буквы) в отдельную функцию, если этот символ есть в переданой строке, то возвращает true, если нет то false, в зависимости от возвращаемого значения соответствующий вывод на экран.
C++
1
2
3
4
5
6
7
8
9
//char * pointer - указатель на строку, в которой будет идти поиск
//int size - размер этой строки
//char ch - символ для поиска
bool findsym(char * pointer,int size,char ch) {
    for(int i=0;i<size;i++)
        if(pointer[i]==ch)
            return true; //нашли символ в переданой строке - возвращаем true(да есть)
    return false; // прошли всю строку и не нашли - грусть печаль, возвращаем что false(лож)
}
maximuss
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 148
18.01.2013, 00:59  [ТС]     Нужно выяснить, какие символы встречаются в обеих строках, так же и те, которые встречаются только в одной #5
спасибо Вам)
Yandex
Объявления
18.01.2013, 00:59     Нужно выяснить, какие символы встречаются в обеих строках, так же и те, которые встречаются только в одной
Ответ Создать тему
Опции темы

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