русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

П р и м е р 3 (cтрока как массив символов).

Составить функцию, которая в строке находит количество цифр и количество введённого символа.

Для простой работы со строками достаточно объявить её как массив символов, не используя в явном виде указатели и возможности работы с ними (см. 2–й семестр). Объявление и инициализация строк были показаны в § 6 гл. 1. Для ввода строк вместо cin лучше использовать функцию gets, так как cin вводит строку до первого пробела.

void STRDIGIT (char t[],char simbol, int &K1, int &K2);

int main()

{ char str[50]; // объявляем массив наибольшей длины 50

gets(str); // ввод строки

char c1; int KDig, KC; cout<<"Input the symbol ";

c1=getchar(); // ввод одного символа

STRDIGIT(str,c1,KDig,KC);

cout<<"In the string ";

puts(str); // вывод строки, или printf ( “%s\n”, str)

cout<< KDig<< " digits and "<<KC << " of simbol "<<c1;

getch(); return 0;

}

void STRDIGIT (char t[], char simbol, int &K1, int &K2)

{ K1=0; K2=0;

for (int i=0; i<strlen(t); i++) // strlen возвращает длину строки

{ if (t[i]>='0' && t[i]<='9') K1++;

if (t[i]==simbol) K2++;

} }

// или

for (int i=0; t[i] !=’\0’; i++)

/* Цикл продолжается, пока не встретится символ конца строки, которым заканчивается любая строка. Это же можно записать короче: for (int i=0; t[i]; i++) */

{ if (isdigit(t[i])) K1++; // является ли символ цифрой

if ( ! (t[i]-simbol ) ) K2++; }

// или

for (int i=0; t[i];)

{ if ( isdigit(t[i])) K1++;

if (t[i++]==simbol) K2++;

}

Кроме функции getchar для ввода одного символа можно использовать функции getch или getche. От их выбора зависит, во-первых, надо ли при вводе символа нажимать не только на клавишу вводимого символа, но и на клавишу ввода (да, нет, нет) и, во-вторых, будет ли отображаться введённый символ на экране (да, нет, да).

Кроме функции isdigit, есть другие функции, анализирующие один символ:

· islower — является ли аргумент символом нижнего регистра (маленькой буквой, например);

· isupper — является ли аргумент символом верхнего регистра (большой буквой, например);

· isalpha — является ли аргумент буквой алфавита (верхнего или нижнего регистра);

· isgraph— является ли аргумент печатным символом, отличным от пробела;

· isprint — является ли аргумент печатным символом, включая пробел. Эти и другие подобные функции, имена которых начинаются с is, возвращают true или false в зависимости от того, принадлежит ли символ соответствующей группе.

Просмотров: 530


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.