Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 04.09.2015, 12:56   #1
dmiter
 
Регистрация: 03.09.2015
Сообщений: 5
По умолчанию Непонятна строка кода программы подсчета цифр, символов-разделителей и прочих символов (CИ)

Здравствуйте. Рабочая программа, нашел в учебнике Кернигана и Ритча. Не могу понять запись вида ++ndigit[c - '0' ]; в 12-й строке. Прокомментируйте подробно пожалуйста.
Код:
#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 ("цифры =");
for (i=0; i < 10; ++i)
printf(" %d", ndigit[i]);
printf (", символы-разделители = %d, прочие = %d\n", nwhite, nother);
}
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 04.09.2015 в 13:33.
dmiter вне форума
Старый 04.09.2015, 13:24   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А что не понятно? Есть массив количества цифр размерности 10. Цифры, сюрприз-сюрприз, идут по порядку - значит их можно использовать как индексы, что и сделано. Нашли - соответствующий счетчик увеличили.
p51x вне форума
Старый 05.09.2015, 14:32   #3
dmiter
 
Регистрация: 03.09.2015
Сообщений: 5
Радость

Спасибо, разобрался
dmiter вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив строк текста, строка символов разделителей. Сформировать текст из строк, содержащих заданное слово. Отсортировать дестронг Помощь студентам 1 16.05.2014 08:48
Строки. Дана строка символов,среди которых есть двоеточие ( : ). Определить сколько символов ему предшествуют. Un1q Паскаль, Turbo Pascal, PascalABC.NET 2 11.12.2013 14:52
азаработать программу Подсчета числа символов указанного типа в любой заданной строке символов . slava5170 Общие вопросы C/C++ 4 03.11.2013 02:18
Дана строка символов. Подсчитать, сколько различных символов встречаются в ней. Вывести их на экран Алена_=))) Microsoft Office Word 1 17.06.2012 21:04
Дана последовательность символов (строка). Группу символов, разделенную с одной или обеих сторон пробелам viper1941 Паскаль, Turbo Pascal, PascalABC.NET 1 14.04.2011 08:46