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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 305, средняя оценка - 4.99
kuidreS
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 37
#1

Посчитать количество символов в строке - C++

13.05.2010, 20:19. Просмотров 41969. Ответов 16
Метки нет (Все метки)

Хелп. Я только недавно начал изучать С++. Помогите сделать программу. Нужно посчитать количество всех элементов в строке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2010, 20:19     Посчитать количество символов в строке
Посмотрите здесь:

C++ В строке посчитать количество символов, которые введёт пользователь
В данной строке символов посчитать количество вхождений данной буквы C++
Ввести строку символов, если ее длина кратна 2, посчитать количество цифр в этой строке. C++
Посчитать количество символов "q" в строке C++
C++ Нужно посчитать количество символов пунктуации (: ; ? ! , .) в веденной строке
C++ Посчитать количество букв в введенной строке символов
Посчитать количество слов во введенной строке символов, начинающихся с «Т» или «т» C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Cooler2
27 / 22 / 3
Регистрация: 11.06.2008
Сообщений: 56
13.05.2010, 20:25     Посчитать количество символов в строке #2
Цитата Сообщение от kuidreS Посмотреть сообщение
Хелп. Я только недавно начал изучать С++. Помогите сделать программу. Нужно посчитать количество всех элементов в строке.
C++
1
2
3
4
5
#include <cstring>
...
char* str = "Hello World";
int count = strlen(str);
printf("Количество символов в строке \"Hello World\" = %u\n", count);
rangerx
1923 / 1532 / 139
Регистрация: 31.05.2009
Сообщений: 2,895
13.05.2010, 20:40     Посчитать количество символов в строке #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int strLength(const char* str)
{
    int size = 0;
    while(*str++) ++size;
    return size;
}
 
int main()
{
    const char* str = "asdasdqwdqd";
    printf( "%d\n", strLength(str) );
    return 0;
}
kuidreS
0 / 0 / 0
Регистрация: 28.03.2010
Сообщений: 37
13.05.2010, 20:58  [ТС]     Посчитать количество символов в строке #4
Посмотрите пожалуйста и скажите где ошибка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <conio.h>
#include <cstring>
using namespace std;
void main()
{
char *str;
cout<<"Please, enter the string: ";
cin>>str;
int count = strlen(str);
cout<<"Sum of elements= "<<count;
getch();
}
tony733
2 / 2 / 0
Регистрация: 13.05.2010
Сообщений: 7
13.05.2010, 21:23     Посчитать количество символов в строке #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <conio.h>
#include <cstring>
using namespace std;
int main() {
    char *str;
    cout<<"Please, enter the string: ";
    cin>>str;
    int count = strlen(str);
    cout<<"Sum of elements= "<<count;
    getch();
    return 0;
}
Функция main() должна возвращать значение типа int.
Cooler2
27 / 22 / 3
Регистрация: 11.06.2008
Сообщений: 56
13.05.2010, 21:26     Посчитать количество символов в строке #6
Цитата Сообщение от kuidreS Посмотреть сообщение
Посмотрите пожалуйста и скажите где ошибка
В Вашем случае надо выделить свободную память для указателя, определив его размер:
C++
1
2
3
4
5
6
7
8
char* str = new char[80];
cout << "Please, enter the string: ";
cin >> str;
int count = strlen(str);
cout << "Sum of elements= " << count;
getch();
delete [] str;
return;
Добавлено через 2 минуты
Цитата Сообщение от tony733 Посмотреть сообщение
Функция main() должна возвращать значение типа int.
Необаязательно. Она может возвращать и void.
Но в конец программы нужно вставить ключевое слово
C++
1
return
tony733
2 / 2 / 0
Регистрация: 13.05.2010
Сообщений: 7
13.05.2010, 21:30     Посчитать количество символов в строке #7
Цитата Сообщение от kuidreS Посмотреть сообщение
Посмотрите пожалуйста и скажите где ошибка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <conio.h>
#include <cstring>
using namespace std;
void main()
{
char *str;
cout<<"Please, enter the string: ";
cin>>str;
int count = strlen(str);
cout<<"Sum of elements= "<<count;
getch();
}
Цитата Сообщение от Cooler2 Посмотреть сообщение
В Вашем случае надо выделить свободную память для указателя, определив его размер:
C++
1
2
3
4
5
6
7
char* str = new char[80];
cout << "Please, enter the string: ";
cin >> str;
int count = strlen(str);
cout << "Sum of elements= " << count;
getch();
delete [] str;
насколько я понимаю при такой операции память выделится вот здесь
cin>>str;

Добавлено через 3 минуты
Цитата Сообщение от Cooler2 Посмотреть сообщение
Необаязательно. Она может возвращать и void.
Но в конец программы нужно вставить ключевое слово
Ну можно наверно, не спорю, но вроде как стандартнее записать int) Хотя не буду особо спорить, возможно я неправ)
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
13.05.2010, 21:31     Посчитать количество символов в строке #8
Цитата Сообщение от tony733 Посмотреть сообщение
насколько я понимаю при такой операции память выделится вот здесь
cin>>str;
Не правильно понимаете. Ничего тут не должно выделяться. Мало того, при таком подходе, если память и выделена, но меньше, чем вводимая строка, будет переполнение...
Cooler2
27 / 22 / 3
Регистрация: 11.06.2008
Сообщений: 56
13.05.2010, 21:36     Посчитать количество символов в строке #9
kuidreS,
Рекомендую вместо
C++
1
cin >> str;
Воспользоваться функцией получения всей введенной строки:
C++
1
cin.getline(str, 80, '\n');
Где str - указатель под который выделена память в свободном хранилище,
80 - максимальное количество символов для прочтения
'\n' - символ, прекращающий процесс считывания строки. (Тут можно не только этот символ использовать).
tony733
2 / 2 / 0
Регистрация: 13.05.2010
Сообщений: 7
13.05.2010, 21:39     Посчитать количество символов в строке #10
Цитата Сообщение от easybudda Посмотреть сообщение
Не правильно понимаете. Ничего тут не должно выделяться. Мало того, при таком подходе, если память и выделена, но меньше, чем вводимая строка, будет переполнение...
Спасибо за разъяснение, терь буду знать) раз уж начали разговор- не могли бы вы посмотреть вот это?
http://www.cyberforum.ru/cpp-beginne...ead129329.html
sa80956847450d
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 9
27.05.2010, 22:32     Посчитать количество символов в строке #11
и наконец окончательный вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <conio.h>
#include <cstring>
using namespace std;
void main()
{
char* str = new char[80];
cout<<"Please, enter the string: ";
cin.getline(str, 80, '\n');
int count = strlen(str);
cout<<"Sum of elements= "<<count;
getch();
}
=)
mastic
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 3
21.03.2015, 17:12     Посчитать количество символов в строке #12
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
47
48
49
50
51
52
53
#define _CRT_SECURE_NO_WARNINGS
#include "stdafx.h"
#include <iostream>
 
using namespace std;
const int n = 80;
 
void Strin(char[]);
 
void main()
{
    setlocale(LC_ALL, "RUS");
    char str[n];
    cout << "enter string" << endl;
    gets(str);
    Strin(str);
 
 
    system("pause");
}
 
void Strin(char str[])
{
    int counter = 0;
    for (int i = 0; i < n; i++)
    {
        if (isalnum(str[i]))
        {
            if (i != 0)
            {
                int k;
                for (k = i - 1; k != 0; k--)
                {
                    if (str[i] == str[k])
                        break;
                }
                if (str[i] == str[k])
                    continue;
            }
            cout << str[i] << "=";
            for (int j = i + 1; j < n - 1; j++)
            {
                if (str[i] == str[j])
                {
                    counter++;
                }
            }
            cout << counter + 1 << endl;
            counter = 0;
        }
    }
 
}
Артем-
0 / 0 / 0
Регистрация: 18.03.2015
Сообщений: 5
25.03.2015, 11:28     Посчитать количество символов в строке #13
Здравствуйте,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# include <iostream>
# include <conio.h>
 
using namespace std;
 
int main()
{
    char mas1[5];
 
    cout<<"Vvedite stroku ";
    gets(mas1);
    cout<<endl;
 
    for(int i=0;i<5;i++)
    cout<<mas1[i];
 
    _getch();
    return 0;
}

не могу никак посчитать сколько символов в строке которую ввели

Добавлено через 53 минуты
нашол ответ )) #include <cstring>

Добавлено через 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
# include <iostream>
# include <conio.h>
#include <cstring>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "RUS");
    char mas1[100];
    char len;
     
    cout<<"Vvedite stroku ";
    gets(mas1);
    cout<<endl;
    
    len = strlen(mas1);
 
    for(int i=0;i<len;i++)
    {
    cout<<mas1[i];
    }
    
    _getch();
    return 0;
}

теперь проблема с кодировкой
STRYTIK
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 1
30.03.2015, 23:48     Посчитать количество символов в строке #14
C++
1
2
3
4
5
6
7
8
#include<Windows.h> //библиотека нужная для кодировки
 
int main
{
SetConsoleCP(1251);// для ввода русского
SetConsoleOutputCP(1251);// для вывода русского
// код программы .......
system("pause");
maks242
46 / 20 / 7
Регистрация: 01.11.2013
Сообщений: 237
Завершенные тесты: 2
31.03.2015, 00:06     Посчитать количество символов в строке #15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# include <iostream>
# include <conio.h>
#include <string>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russia");
    cout << "Введите строку с текстом: ";
    string SizeOfText;
    getline(cin, SizeOfText);
 
    cout << "Количество символов: " << SizeOfText.length() << endl;
    _getch();
    return 0;
}
Самый лучший способ, без всяких заморочек.
Megtev
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 1
29.10.2015, 14:24     Посчитать количество символов в строке #16
Зачем все усложнять?
Делается это просто))
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    string a;
    cin >> a;
    int b = a.size();
    cout << b;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2016, 14:22     Посчитать количество символов в строке
Еще ссылки по теме:

Посчитать количество символов в строке C++
C++ Посчитать количество подряд идущих символов в каждой строке
C++ Найти количество символов всех строк файла и количество символов в определенной строке
C++ Вводится последовательность символов. Признак конца ввода – точка. Посчитать количество символов не являющихся пробелами
C++ Посчитать в строке количество латинских символов

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

Или воспользуйтесь поиском по форуму:
Sivabur
0 / 0 / 0
Регистрация: 19.08.2015
Сообщений: 7
24.10.2016, 14:22     Посчитать количество символов в строке #17
А про классику то забывайте) Взято из книги "K&R C 1 издания" будет работать и на чистом С.

Для указания терминалу в UNIX и Linux «EOF» следует воспользоваться комбинацией клавиш Ctrl+D. В Windows — Ctrl+Z.

Код
#include<stdio.h>
int main()
{
    long nc;

    nc = 0;
    while(getchar() != EOF) ++nc;
    printf("%ld\n", nc);
}
Yandex
Объявления
24.10.2016, 14:22     Посчитать количество символов в строке
Ответ Создать тему
Опции темы

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