Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/1365: Рейтинг темы: голосов - 1365, средняя оценка - 4.77
0 / 0 / 1
Регистрация: 28.03.2010
Сообщений: 37

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

13.05.2010, 20:19. Показов 293624. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хелп. Я только недавно начал изучать С++. Помогите сделать программу. Нужно посчитать количество всех элементов в строке.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.05.2010, 20:19
Ответы с готовыми решениями:

Посчитать количество символов в строке
Объясните как работает этот код. Он должен посчитать количество каждой буквы и вывести в порядке убывания. Можно подробно, если не...

Посчитать количество символов в строке
Задание: Дана строка. Подсчитать количество различных символов, которые не являются буквами или цифрами, и вывести их на экран. Знаю...

В строке посчитать количество разных символов
Хелоу гайс,как изменить код, чтобы считались именно разные символы , а не все? #include <iostream> #include<iostream> ...

17
 Аватар для Cooler2
35 / 30 / 5
Регистрация: 11.06.2008
Сообщений: 56
13.05.2010, 20:25
Цитата Сообщение от kuidreS Посмотреть сообщение
Хелп. Я только недавно начал изучать С++. Помогите сделать программу. Нужно посчитать количество всех элементов в строке.
C++
1
2
3
4
5
#include <cstring>
...
char* str = "Hello World";
int count = strlen(str);
printf("Количество символов в строке \"Hello World\" = %u\n", count);
5
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
13.05.2010, 20:40
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;
}
1
0 / 0 / 1
Регистрация: 28.03.2010
Сообщений: 37
13.05.2010, 20:58  [ТС]
Посмотрите пожалуйста и скажите где ошибка:
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();
}
0
2 / 2 / 0
Регистрация: 13.05.2010
Сообщений: 7
13.05.2010, 21:23
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.
1
 Аватар для Cooler2
35 / 30 / 5
Регистрация: 11.06.2008
Сообщений: 56
13.05.2010, 21:26
Цитата Сообщение от 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
1
2 / 2 / 0
Регистрация: 13.05.2010
Сообщений: 7
13.05.2010, 21:30
Цитата Сообщение от 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) Хотя не буду особо спорить, возможно я неправ)
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
13.05.2010, 21:31
Цитата Сообщение от tony733 Посмотреть сообщение
насколько я понимаю при такой операции память выделится вот здесь
cin>>str;
Не правильно понимаете. Ничего тут не должно выделяться. Мало того, при таком подходе, если память и выделена, но меньше, чем вводимая строка, будет переполнение...
1
 Аватар для Cooler2
35 / 30 / 5
Регистрация: 11.06.2008
Сообщений: 56
13.05.2010, 21:36
kuidreS,
Рекомендую вместо
C++
1
cin >> str;
Воспользоваться функцией получения всей введенной строки:
C++
1
cin.getline(str, 80, '\n');
Где str - указатель под который выделена память в свободном хранилище,
80 - максимальное количество символов для прочтения
'\n' - символ, прекращающий процесс считывания строки. (Тут можно не только этот символ использовать).
1
2 / 2 / 0
Регистрация: 13.05.2010
Сообщений: 7
13.05.2010, 21:39
Цитата Сообщение от easybudda Посмотреть сообщение
Не правильно понимаете. Ничего тут не должно выделяться. Мало того, при таком подходе, если память и выделена, но меньше, чем вводимая строка, будет переполнение...
Спасибо за разъяснение, терь буду знать) раз уж начали разговор- не могли бы вы посмотреть вот это?
https://www.cyberforum.ru/cpp-... 29329.html
0
0 / 0 / 0
Регистрация: 27.05.2010
Сообщений: 9
27.05.2010, 22:32
и наконец окончательный вариант:
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();
}
=)
0
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 3
21.03.2015, 17: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 / 0
Регистрация: 18.03.2015
Сообщений: 5
25.03.2015, 11:28
Здравствуйте,

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;
}

теперь проблема с кодировкой
0
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 1
30.03.2015, 23:48
C++
1
2
3
4
5
6
7
8
#include<Windows.h> //библиотека нужная для кодировки
 
int main
{
SetConsoleCP(1251);// для ввода русского
SetConsoleOutputCP(1251);// для вывода русского
// код программы .......
system("pause");
0
47 / 21 / 11
Регистрация: 01.11.2013
Сообщений: 255
31.03.2015, 00:06
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;
}
Самый лучший способ, без всяких заморочек.
0
0 / 0 / 0
Регистрация: 16.09.2015
Сообщений: 1
29.10.2015, 14:24
Зачем все усложнять?
Делается это просто))
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;
}
0
0 / 0 / 0
Регистрация: 19.08.2015
Сообщений: 7
24.10.2016, 14:22
А про классику то забывайте) Взято из книги "K&R C 1 издания" будет работать и на чистом С.

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

Code
1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main()
{
    long nc;
 
    nc = 0;
    while(getchar() != EOF) ++nc;
    printf("%ld\n", nc);
}
0
0 / 0 / 0
Регистрация: 10.11.2022
Сообщений: 6
10.11.2022, 19:02
C#
1
2
3
4
5
6
7
8
9
// Подсчет всех символов, букв и цифр в строке (включая пробел)
 
bool IsStringNumeric(char charToCheck) => char.IsLetterOrDigit(charToCheck) || char.IsAscii(charToCheck);
 
string str = "Cool56:-)";
int count = 0;
foreach (var el in str) if (IsStringNumeric(el)) count++;
 
Console.WriteLine(count);   //итог: колличество символов в строке равно 9
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2022, 19:02
Помогаю со студенческими работами здесь

Посчитать в строке количество латинских символов
Запросить у пользователя строку и посчитать в ней количество символов латинского алфавита

Как посчитать количество символов в строке?
Допустим дана строка &quot;dfhiффзdhaiudbcgннаius&quot; как посчитать количество символов? вариант что то типа char ch; vec++; // не...

Посчитать количество букв в введенной строке символов
Хелп)) нужно написать программу, которая будет считать количество букв в введенной строке символов. я написала программу, но она...

Посчитать количество подряд идущих символов в каждой строке
привет всем. очень нужна помощь. бо бьюсь об неё уже не один день. дело в следующим: есть файл в нём строки с числами как...

В строке посчитать количество символов, которые введёт пользователь
в строке посчитать количество символов,которые введёт пользователь


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru