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

Найти количество символов в строке - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 94, средняя оценка - 4.84
STyDeNTuK
30 / 12 / 3
Регистрация: 22.09.2009
Сообщений: 157
21.01.2010, 22:26     Найти количество символов в строке #1
Написать программу для подсчёта количества символов в любой строке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
STyDeNTuK
30 / 12 / 3
Регистрация: 22.09.2009
Сообщений: 157
21.01.2010, 23:03  [ТС]     Найти количество символов в строке #21
чё за set?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
21.01.2010, 23:03     Найти количество символов в строке #22
CheshireCat:
Ты его наверное испугал.
Вроде проблема решена, что решаем?
STyDeNTuK
30 / 12 / 3
Регистрация: 22.09.2009
Сообщений: 157
21.01.2010, 23:06  [ТС]     Найти количество символов в строке #23
я не виноват что мы не проходили такого
Андрейка
407 / 211 / 22
Регистрация: 25.03.2009
Сообщений: 710
21.01.2010, 23:25     Найти количество символов в строке #24
STyDeNTuK, set - это множество (как сказал мне учебник английского языка )
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.01.2010, 23:35     Найти количество символов в строке #25
Кроме того set содержит уникальные значения.
Загоняем символы строки в set - размер set'a будет ровняться количеству ращличных символов.
STyDeNTuK
30 / 12 / 3
Регистрация: 22.09.2009
Сообщений: 157
21.01.2010, 23:37  [ТС]     Найти количество символов в строке #26
блин мне это нужно преподу показывать, как думаете если мы этого не проходили он поверит что это я сделал?
Андрейка
407 / 211 / 22
Регистрация: 25.03.2009
Сообщений: 710
21.01.2010, 23:38     Найти количество символов в строке #27
CyBOSSeR, что то мне подсказывает с STL парень не знаком )

Добавлено через 45 секунд
STyDeNTuK, ну если ты С++ занимаешься самостоятельно то поверит. И то смотря какой препод, может он сам этого не знает
STyDeNTuK
30 / 12 / 3
Регистрация: 22.09.2009
Сообщений: 157
21.01.2010, 23:38  [ТС]     Найти количество символов в строке #28
алё народ первый курс первый семестр какой нафиг STL
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
21.01.2010, 23:40     Найти количество символов в строке #29
STyDeNTuK, значит изобретай свой велосипед.
mirso
523 / 341 / 17
Регистрация: 05.04.2009
Сообщений: 709
22.01.2010, 00:30     Найти количество символов в строке #30
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 <iostream>
 
size_t counter ( const std::string& s, size_t t = 0 )//------------
{
    for ( char   i = 0x20; i !=          0; i++ )
    for ( size_t j = 0x00; j <  s.length(); j++ )
    {       
        if ( i == s[j] )
        {
            t++;
            break;
        }
    }
     
    return t;
} 
int main()//=========================================================
{
    std::string s = " валaсипет ";
    
    std::cout << "Различных символов в строке - \"" << s \
              << "\" -  " << counter(s) << std::endl;
    
    system ( "pause" );
    return 0;
}//==================================================================
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
22.01.2010, 01:56     Найти количество символов в строке #31
Вот тут в третьем задании есть намёк на то, как это сделать...
STyDeNTuK
30 / 12 / 3
Регистрация: 22.09.2009
Сообщений: 157
23.01.2010, 17:40  [ТС]     Найти количество символов в строке #32
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<iostream.h>
#include<windows.h>
#include<string.h>
 
int main()
{
char a[1024];
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
cout<<"Введите строку :"<<endl;
cin.getline(a, 1024, '\n');
int sum=0; //sum - кол-во различных символов
int i, j, n;
n=strlen(a);
int k=0;  //k - просто коэфициент
for (i=0;i<n;i++) //n - кол-во элементов в массиве
{
for (j=0;j<i;j++) 
if (a[i]==a[j]) k++;
if (k==0) sum++;
}
 
cout<<"Количество различных символов в строке"<<sum<<endl;
 
system ("pause");
return 0;}
вот такая мне нужна прога, но в этой ошибка какая то потому что не во всех случаях правильно показывает
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
23.01.2010, 18:17     Найти количество символов в строке #33
Считает всё, включая пробелы, точки, запятые... пустая строка - выход. Правда, на С
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
42
43
44
45
46
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
 
#define STRLEN 256
 
/* считает количество уникальных символов с строке */
size_t uniqueCount(const char *s){
    char *buf, *p;
    size_t len;
    
    if ( !s || !*s )
        return 0;
    len = strlen(s) + 1;
    if ( ( buf = (char*)malloc(len) ) == NULL ){
        fprintf(stderr, "Memory error!\n");
        exit(1);
    }
    memset(buf, 0, len);
    for ( p = buf; *s; ++s)
        if ( !strchr(buf, *s) )
            *p++ = *s;
    len = strlen(buf);
    free(buf);
    return len;
}
 
int main(void){
    char str[STRLEN], *p;
    
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    while ( 1 ){
        printf("\nСтрока: ");
        if ( !fgets(str, sizeof(str), stdin) )
            exit(1);
        if ( p = strrchr(str, '\n') )
            *p = '\0';
        if ( !*str )
            break;
        printf("Уникальных символов: %d\n", uniqueCount(str));
    }
    exit(0);
}
STyDeNTuK
30 / 12 / 3
Регистрация: 22.09.2009
Сообщений: 157
23.01.2010, 19:03  [ТС]     Найти количество символов в строке #34
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<iostream.h>
#include<windows.h>
#include<string.h>
 
int main()
{
char a[1024];
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
cout<<"Введите строку :"<<endl;
cin.getline(a, 1024, '\n');
int sum=0; //sum - кол-во различных символов
int i, j, n;
n=strlen(a);
int k=0;  //k - просто коэфициент
for (i=0;i<n;i++) //n - кол-во элементов в массиве
{
for (j=0;j<i;j++)
if (a[i]==a[j]) k++;
if (k==0) sum++;
}
 
cout<<"Количество различных символов в строке"<<sum<<endl;
 
system ("pause");
return 0;}
C++
1
2
3
for (i=0;i<n;i++) //n - кол-во элементов в массиве
{
for (j=0;j<i;j++)
чё тут происходит

C++
1
if (a[i]==a[j]) k++;
вроде ж само с собой сравнивает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2010, 19:34     Найти количество символов в строке
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
mirso
523 / 341 / 17
Регистрация: 05.04.2009
Сообщений: 709
23.01.2010, 19:34     Найти количество символов в строке #35
C++
1
2
3
4
5
6
7
8
9
    for (i=0;i<n;i++,sum++) //n - кол-во элементов в массиве
    {   
        for (j=i+1;j<n;j++)
        if (a[i]==a[j])
        {
            sum--;
            break;
        }         
    }
Цитата Сообщение от STyDeNTuK Посмотреть сообщение
показывает
считает и пробелы и запятые и цифры
Yandex
Объявления
23.01.2010, 19:34     Найти количество символов в строке
Ответ Создать тему
Опции темы

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