Главная Контакты


  На сайте

  Java, JavaScript
  Документация Perl
  Документация PHP
  Документация ASP
  Новости сайта
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C
 


Введение в c++


1.6 Массивы

Теперь, напишем программу, которая подсчитает количество каждой цифры, пропусков (пробел, табуляция и знак новой строки) и остальных знаков. Это несколько искусственно, но позволяет проиллюстрировать несколько аспектов C в одной программе.

У нас будет двенадцать категорий возможного ввода, поэтому имеет смысл использовать массив для содержания числа повторений той же цифры, вместо десяти отдельных переменных. Вот одна из возможных версий:
# Include

/ * Подсчитывает цифры, пробелы и другие знаки * /
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);
}


Вывод самой программы может выглядеть как
digits = 9 3 0 0 0 0 0 0 0 1, white space = 123, other = 345

Объявления
int ndigit [10];
описывает ndigit, как массив из 10-и целых. Индексация массивов всегда начинается с нуля в C, поэтому элементами будут ndigit [0], ndigit [1], ..., ndigit [9]. Это отражено в циклах for, которые инициализации и выводят массив.


Индексом может быть любое выражение типа int, включая целочисленную переменную, вроде i, и целочисленные константы.

Эта программа возлагается на символьное представление цифр. Так, например, проверка
if (c> = '0 '& & c <= '9')
определяет, символ, который находится в c является цифрой. Если да, числовым значением этой цифры будет
c - '0 '

Другие статьи по теме:

- Символьные массивы
- Функции и структура программ
- Типы, операторы и выражения
- Внешние переменные и область действия
- Введение в c++


Голосование:
Чего Вы хотели бы видеть больше на сайте?

Статей, документации
Скриптов
Программ для вебмастера
Я не знаю



Другие голосования

Обмен кнопочками:



Приглашаем Вас обменяться кнопочками! Обращайтесь к администратору.


Новые статьи:


Наши партнеры:





2006-2024 © SMTI.RU
Главная страница | Связаться с нами