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

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

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

Ввести строку символов. Найти количество неповторяющихся символов - C++

02.09.2014, 21:35. Просмотров 757. Ответов 5
Метки нет (Все метки)

Ввести строку символов. Найти количество неповторяющихся символов.

Вот мой текст программы (рабочий):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream.h>
#include <string.h>
 
int main()
{
 int i,c,j,k;
 char s[256];
 cout<<"Input S=>";
 cin>>s;
 cout<<s<<endl;
 c=0;
 for (i=0;i<strlen(s);i++)
 {
    k=0;
    for (j=0;j<strlen(s);j++)
       if (s[i]==s[j]) k++;
    if (k==1) c=c+1;
 }
 cout<<c;
        return 0;
}
Возможно как-то можно через один цикл сделать...
Буду очень благодарен за помощь в упрощении решения данной задачи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2014, 21:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввести строку символов. Найти количество неповторяющихся символов (C++):

Ввести строку символов, если ее длина кратна 2, посчитать количество цифр в этой строке. - C++
Помогите,пожалуйста, решить прогу....Ввести строку символов, если ее длина кратна 2, посчитать количество цифр в этой строке. Решить задачу...

Ввести строку символов и найти баланс открывающихся и закрывающихся скобок - C++
ввести строку символов и найти баланс открывающихся и закрывающихся скобок

Ввести строку символов, если ее длина кратна 5, посчитать количество скобок всех видов. Решить в VC++. - C++
Ввести строку символов, если ее длина кратна 5, посчитать количество скобок всех видов. Решить задачу в VC++.

Ввести строку,переделать последовательности цифровых символов в числа и найти их сумму - C++
помогите пожалуйста,новичок в программировании,хочу решить эту задачу,спасибо заранее) ввести ряд,переделать последовательности цифровых...

Найти количество символов в строке, найти заданные буквы, разделить количество букв на количество символов - C++
Написать код который сперва подсчитывает количество символов в строке а потом из этих находит буквы (a,e,y,u,i) и делит количество букв на...

Дана строка символов. Изменить строку – во всех словах, имеющих нечетное количество символов, средний символ удалить. - C++
Дана строка символов. Изменить строку – во всех словах, имеющих нечетное количество символов, средний символ удалить. помогите...

5
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
02.09.2014, 21:41 #2
Andrey619, 20 строчку не понял; что вы там вводите напоследок?
0
S_el
2124 / 1651 / 311
Регистрация: 15.12.2013
Сообщений: 6,476
02.09.2014, 22:51 #3
Цитата Сообщение от Andrey619 Посмотреть сообщение
Возможно как-то можно через один цикл сделать...
Сомневаюсь,но могу предложить такой вариант:

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
#include "stdafx.h"
#include <iostream>
# include <unordered_map>
using namespace std;
 
int main()
{
int count=0;
unordered_map<char,int> S;
cout<<"Input string: "<<endl;
char ch=cin.get();
while (ch != '\n') 
{
        ++S[ch];
        ch=cin.get();
}
for (auto word : S)
{
        cout << word.first << ' ' << word.second <<endl;
        if(word.second ==1) count++;
}
cout<<" Count = "<<count<<endl;
cin.get();
cin.get();
return 0;
}
0
SlavaSSU
216 / 161 / 45
Регистрация: 17.07.2012
Сообщений: 587
02.09.2014, 23:15 #4
Andrey619,
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <string>
 
using namespace std;
 
int cnt[256];
 
int main()
{
    string s;
    getline(cin, s);
    int n = s.length();
    for(int i = 0; i < n; i++)
        cnt[s[i]]++;
 
    int ans = 0;
    for(int i = 0; i < 256; i++)
        if(cnt[i] == 1)
            ans++;
 
    cout << ans << endl;
 
    return 0;
}
0
DiffEreD
1434 / 771 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
03.09.2014, 01:06 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::string str{"some beautiful string"};
    std::sort(str.begin(), str.end());
    str.erase(std::unique(str.begin(), str.end()), str.end());
    std::cout << "Unique symbols:  " << str.size();
 
    return 0;
}
0
ct0r
Игогошка!
1782 / 684 / 42
Регистрация: 19.08.2012
Сообщений: 1,313
Завершенные тесты: 1
03.09.2014, 08:07 #6
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <unordered_set>
 
int main() {
    auto str = std::string {"ya yugyug drtd dtrdtrd rssesguioiewaa"};
    auto s = std::unordered_set<char>{str.begin(), str.end()};
    std::cout << s.size() << std::endl;
    return 0;
}
1
03.09.2014, 08:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2014, 08:07
Привет! Вот еще темы с ответами:

Найти количество символов всех строк файла и количество символов в определенной строке - C++
Здравствуйте! Я хотел бы попросить помощи в решении задачки! У меня не получается найти количество символов всех строчек и количество...

Дано строку. Найти количество символов препинання(.,!?: - C++
2.Дано строку. Найти количество символов препинання(.,!?:;).

Найти количество символов в самой длинной цепочке из одинаковых символов - C++
Дана строка символов St длиной не более 72, которая может состоять из цифр, малых латинских букв и знаков '+' '-' '*' '/' '.' ')' '(' ...

Ввести строку длинной 500 символов - C++
Ввести строку длинной до 500 символов.Найти и вывести все слова содержащие заданную последовательность символов.Алфавит русский, английские...


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

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

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