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

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

Войти
Регистрация
Восстановить пароль
 
olorin3000
2 / 2 / 1
Регистрация: 27.09.2012
Сообщений: 48
#1

Количество различных букв в слове - C++

11.01.2013, 20:08. Просмотров 815. Ответов 9
Метки нет (Все метки)

Здравствуйте!
Смысл задачи в том, чтобы в предложении найти для каждого слова количество его различных букв (символов).
Вот мой код:
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
#include <iostream>
#include <cstdio>
#include <cstring>
 
using namespace std;
 
int main()
{
    char str[80];
    int symb[256];
    int i,j,sum;
    
 
    gets(str);
    strcat(str," ");
    /*for(i=0;i<=256;i++)
    symb[i]=0;*/
    
    for(i=0;str[i]!='\0';i++)
    {
         sum=0;
    if(str[i]!=' ') symb[str[i]]=1;
    else 
    for(j=0;j<=256;j++)
    if(symb[j]==1){
                  sum++;
                  symb[j]=0;
                  }
    if(sum)
    cout<<sum<<'\n';
    }
    return 0;
}
Не могу понять почему для первого слова выводит неверный результат а для оставшихся правильный.
Да и еще когда пытаюсь полностью обнулить массив symb то программа вообще ничего не выводит.
Помогите плз )
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2013, 20:08     Количество различных букв в слове
Посмотрите здесь:
C++ Во введенном слове подсчитать количество различных пар букв
C++ Определить длину данного и количество Букв «а». Вывести имя и количество букв в третьем слове
Подсчет количества различных букв в слове C++
C++ Определить сколько различных букв в слове
Определить, сколько различных букв в слове C++
C++ Программа подсчета различных букв в слове (из Паскаля в С++)
C++ Количество букв в слове, количество предложений, самое длинное слово в предложении
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fanat94
0 / 0 / 0
Регистрация: 29.03.2012
Сообщений: 38
11.01.2013, 23:04     Количество различных букв в слове #2
ту таке буває)))
olorin3000
2 / 2 / 1
Регистрация: 27.09.2012
Сообщений: 48
11.01.2013, 23:05  [ТС]     Количество различных букв в слове #3
Цитата Сообщение от fanat94 Посмотреть сообщение
ту таке буває)))
Да блин бывает.
Ласковая Киса
82 / 8 / 1
Регистрация: 11.01.2013
Сообщений: 55
11.01.2013, 23:11     Количество различных букв в слове #4
Может вместо всего этого кода поставить:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstdio>
#include <string>
 
using namespace std;
 
int main()
{
    string s;
    while(cin>>s)
    {
        cout<<s.size()<<'\n';
    }
    return 0;
}

Всё гениальное - просто
olorin3000
2 / 2 / 1
Регистрация: 27.09.2012
Сообщений: 48
11.01.2013, 23:15  [ТС]     Количество различных букв в слове #5
Цитата Сообщение от Ласковая Киса Посмотреть сообщение
Может вместо всего этого кода поставить:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstdio>
#include <string>
 
using namespace std;
 
int main()
{
    string s;
    while(cin>>s)
    {
        cout<<s.size()<<'\n';
    }
    return 0;
}

Всё гениальное - просто
Да спасибо. Но меня интересует где в моем коде ошибка. И ваш код выводит размеры слов. Нужно вывести для каждого слова количество различных букв
fanat94
0 / 0 / 0
Регистрация: 29.03.2012
Сообщений: 38
11.01.2013, 23:26     Количество различных букв в слове #6
Цитата Сообщение от Ласковая Киса Посмотреть сообщение
Может вместо всего этого кода поставить:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstdio>
#include <string>
 
using namespace std;
 
int main()
{
    string s;
    while(cin>>s)
    {
        cout<<s.size()<<'\n';
    }
    return 0;
}

Всё гениальное - просто
Код не отвечает условию задачи!!!
Ласковая Киса
82 / 8 / 1
Регистрация: 11.01.2013
Сообщений: 55
11.01.2013, 23:30     Количество различных букв в слове #7
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
#include <iostream>
#include <cstdio>
#include <cstring>
 
using namespace std;
 
int main()
{
    char str[80];
    int symb[256];
    int i,j,sum;  
 
 
    gets(str);
    strcat(str," ");
    for(i=0;i<256;i++)
    symb[i]=0;
    
    for(i=0;str[i]!='\0';i++)
    {
         sum=0;
    if(str[i]!=' ') symb[str[i]]=1;
    else 
    for(j=0;j<256;j++)
    if(symb[j]==1){
                  sum++;
                  symb[j]=0;
                  }
    if(sum)
    cout<<sum<<'\n';
    }
    return 0;
}
Найди 2 отличия

Добавлено через 42 секунды
Насчет 1-го кода уже понял)

Добавлено через 1 минуту
Вы просто залезали в 256 элемент массива, которого нет.Учитесь считать от 0)
olorin3000
2 / 2 / 1
Регистрация: 27.09.2012
Сообщений: 48
11.01.2013, 23:44  [ТС]     Количество различных букв в слове #8
А блин понял. Спс большое. Привычка от object pascal.
fanat94
0 / 0 / 0
Регистрация: 29.03.2012
Сообщений: 38
11.01.2013, 23:45     Количество различных букв в слове #9
Цитата Сообщение от olorin3000 Посмотреть сообщение
А блин понял. Спс большое. Привычка от object pascal.
)))просто от Pascal)))))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2013, 00:08     Количество различных букв в слове
Еще ссылки по теме:
C++ Подсчитать количество букв k в последнем слове
C++ Определите количество повторяющихся букв в слове
C++ Определить количество повторяющихся букв в слове.
C++ В тексте подсчитать количество букв в коротком слове
C++ Подсчитать количество букв в последнем слове в строке

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

Или воспользуйтесь поиском по форуму:
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
12.01.2013, 00:08     Количество различных букв в слове #10
.+-
Yandex
Объявления
12.01.2013, 00:08     Количество различных букв в слове
Ответ Создать тему
Опции темы

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