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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
katena88
6 / 2 / 1
Регистрация: 25.10.2010
Сообщений: 86
#1

Поиск одинаковых букв - C++

11.11.2010, 11:21. Просмотров 1135. Ответов 5
Метки нет (Все метки)

Помогите решить:
В строке найти все повторяющиеся буквы)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2010, 11:21     Поиск одинаковых букв
Посмотрите здесь:

C++ Определить количество одинаковых букв по парам слов в предложении
поиск одинаковых слов на с++ C++
C++ Поиск одинаковых букв в строке из массива строк.
В тексте файла найти количество одинаковых букв C++
C++ Поиск одинаковых элементов
C++ Найти в тексте самую длинную последовательность из одинаковых букв
Поиск одинаковых слов в тексте C++
C++ Дана строка. На печать выдать слова нечётной длины, в которых нет одинаковых букв
Определить количество одинаковых соседних букв в заданном предложении C++
Определение количество слов содержащих три одинаковых букв C++
Поиск одинаковых цифр в числе C++
C++ Строки. Поиск одинаковых слов в предложениях. Вывод вместо одинаковых слов "*"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
11.11.2010, 11:47     Поиск одинаковых букв #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
28
29
30
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL, ".1251");
 
    int a [255];
    char * str = new char [300];
 
    cout << "Введите строку\n";
    cin.getline (str, 300);
 
    for (int i = 0; i < 255; i++)
        a [i] = 0;
 
    for (int i = 0; i < strlen (str); i++)
        a [str [i]]++;
 
    cout << "Повторяющиеся символы\n";
 
    for (int i = 0; i < 255; i++)
        if (a [i] != 0 && a [i] != 1)
            cout << (char) i << " ";
    cout << endl;
 
    delete [] str;
    return 0;
}
Rexer
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 724
11.11.2010, 12:12     Поиск одинаковых букв #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
const int N = 100;
int main(void)
{
char a[N],buf[N];
int i,j,k = 0;
   cin.getline(a,N,'\n');  //вводим строку
    for(i = 0;i < N;i++) //берем первый элемент строки,которую ввели
    for(j = 0;j < N;j++) //сравниваем его с другими элементами строки
     if(a[i] == a[j])      
     {                       //если есть совпадение,то записываем в буфер
     buf[k] = a[i];
     k++;
     }
      cout<<"\n"<<buf<<endl;
}
если не накосячил,то должно работать
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
11.11.2010, 13:37     Поиск одинаковых букв #4
У меня так получилось:
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 <string>
#include <conio.h>
using namespace std;
 
void main()
{setlocale(LC_ALL,"Rus");
cout << "Введите строку \n";
size_t found;
    std::string S; // строка
    std::string buf; // в этой строке хранятся повторяющиеся символы
    std::getline(cin,S);
    string::iterator it1; // указатель на сравниваемую букву
    string::iterator it2; // указатель на те с которыми сравнивается
    cout << "Повторяющиеся символы \n";
    for(it1 = S.begin(); it1 < S.end();it1++){
        for(it2 = it1+1;it2 < S.end();it2++){
            if((*it1 == *it2)  ) // если одинаковые
            {
    found = buf.find(*it1); // проверяем не встречался ли этот символ раньше
    if(found == string::npos) {cout << *it1 << " "; buf.push_back(*it1);} // если нет,то вставляем в buf 
            } // и выводим на экран
        }
    }
        
_getch();
}
если не накосячил,то должно работать
Шляпа получилась . Проверять следовало бы свой код
grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
11.11.2010, 13:39     Поиск одинаковых букв #5
.::.DIMA.::., что такое 1?
C++
1
if (a [i] != 0 && a [i] != 1)
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
11.11.2010, 16:14     Поиск одинаковых букв #6
Цитата Сообщение от grrrrr Посмотреть сообщение
.::.DIMA.::., что такое 1?
grrrrr, 1 - это натуральное число.
И если в моём коде в массиве встречается цифра 1 - то значит символ, соответвующий индексу массива встречался 1 раз. Следовательно он не повторяется.
Yandex
Объявления
11.11.2010, 16:14     Поиск одинаковых букв
Ответ Создать тему
Опции темы

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