С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 4

Счетчик символов

10.09.2019, 10:25. Показов 1745. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Учусь по классике Кернигана\Ритчи и дошел до такого счетчика:

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
#include <stdio.h>
 
main()
{
    int c, i, nwhite, nother;
    int ndigit[10];
 
    nwhite = nother = 0;
    for (i = 0; i < 10; i++)
        ndigit[i] = 0;
 
    while ((c = getchar()) != EOF)
        if (c >= '0' && c <= '9')
            ++ndigit[c - '0'];
        else if (c == ' ' || c == '\n' || c == '\t')
            ++nwhite;
        else
            ++nother;
 
    printf("digits=");
    for (i = 0; i < 10; ++i)
        printf(" %d", ndigit[i]);
    printf(", white space = %d, other = %d\n", nwhite, nother);
 
}
Непонятны два момента. Что происходит в моменте ndigit[i] = 0; и в выражении ++ndigit[c - '0']; Большое спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.09.2019, 10:25
Ответы с готовыми решениями:

Счётчик символов в каждом предложении
Есть текст, который содержится в массиве ТХТ. Каждое новое предложение нужно выводить с новой строки с отметкой о количестве символов в...

Дана последовательность символов x1, x2, ., xn. Выясните, есть ли среди символов этой последовательности пара символов
Дана последовательность символов x1, x2, ..., xn. Выясните, есть ли среди символов этой последовательности пара символов, «,» и «:»...

Дана последовательность символов x1, x2, ., xn. Выясните, есть ли среди символов этой последовательности пара символов
Дана последовательность символов x1, x2, ..., xn. Выясните, есть ли среди символов этой последовательности пара символов, «,» и «:»...

5
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
10.09.2019, 10:56
Цитата Сообщение от Volderon Посмотреть сообщение
Что происходит в моменте ndigit[i] = 0
Обнуляется массив счетчиков цифр
Цитата Сообщение от Volderon Посмотреть сообщение
выражении ++ndigit[c - '0'];
подсчитывается кол-во раз ввода каждой цифры от 0 до 9
1
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 4
10.09.2019, 14:55  [ТС]
Вот тут и потерял мысль, понятно что это инкрементирование в массив счетчика цифр, но что означает конкретно [с-'0'] - не понимаю Как это будет звучать словами?
0
Модератор
 Аватар для long399
2882 / 1836 / 933
Регистрация: 16.10.2013
Сообщений: 5,240
Записей в блоге: 15
10.09.2019, 15:43
Цитата Сообщение от Volderon Посмотреть сообщение
не понимаю
значение цифры равно значению ее символа в таблице символов компьютера минус значение '0'.
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
10.09.2019, 15:44
Лучший ответ Сообщение было отмечено Volderon как решение

Решение

Цитата Сообщение от Volderon Посмотреть сообщение
но что означает конкретно [с-'0'] - не понимаю
С клавиатуры вводятся символы, которые хранятся в памяти компьютера в виде соответствующих кодов. Коды символов, обозначающих цифры, следуют подряд друг за другом от '0' до '9'. Чтобы по коду цифры получить собственно цифру, надо из её кода вычесть код '0'.
'0' - '0' = 0
'1' - '0' = 1
'2' - '0' = 2
и т.д.

ознакомься на досуге
1
0 / 0 / 0
Регистрация: 10.09.2019
Сообщений: 4
10.09.2019, 23:34  [ТС]
Дошло наконец, спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.09.2019, 23:34
Помогаю со студенческими работами здесь

Счетчик символов
Народ, все доброго времени суток. Хочу сделать счетчик символов. Не подсчет количества символов, а именно счетчик. Т.е. счетчик цифр -...

Синхронный счетчик символов
Привет форумчане. Может кто поможет переделать (если это возможно в Access) функцию написанную на JS. Эта функция обеспечивает синхронное...

Счетчик символов в поле
Здравствуйте! Подскажите пожалуйста, как реализовать такую штуку Пользователь в лотусе в форме вносит некий текст в поле, а в...

Счетчик символов, введенных в Memo
Здравствуйте у меня такой вопрос как можно реализовать счётчик символов у меня на форме Memo и label в Memo я задал максимальное...

Счетчик символов для textarea
Доброго всем вечера! Думаю описывать задачу смысла особого нет и так все понятно из названия темы. Есть вот такая страничка: ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru