[АП 2022/06] - свежий номер журнала
Как определить код ошибки при операциях ввода-вывода
Ваша первая программа на Си Шарп в Visual Studio - конечно же Hello World
[АП 2022/05] - свежий номер журнала
Как удалить пустую папку в Паскале

Как стать успешным фрилансером
Раздел: Задачи / Простейшие /
Как определить порядковый номер символа
![]() |
|
Условие задачи 6.1.2.29
Задача 6.1.2.29
Ввести любой символ и определить его порядковый номер, а также указать предыдущий и последующий символы.
Эту задачу нашёл в одном из учебников, и, честно говоря, не совсем понял её условие. А именно - что такое “порядковый номер символа”? Это его ASCII-код или это его номер в алфавите?
Впрочем, если исходить из того, что символом может быть не только буква (а в задаче сказано, что надо ввести любой символ), то я всё-таки склоняюсь к тому, что автор задачи имел ввиду именно код символа. Ну что же, так и будем думать. Тем более что функция Ord, с помощью которой можно определить код символа, называется так, потому что является сокращением от слова Order (порядок).
Ну что же, задачка для начинающих, поэтому и помещена в раздел “простейшие”. Решать будем так:
- Получаем символ от пользователя.
- Определяем его КОД с помощью упомянутой выше функции.
- Получаем числа КОД-1 и КОД+1, которые будут являться кодами предыдущего и последующего символов соответственно.
- Преобразуем эти числа-коды в символы.
- Выводим итог на экран.
Примеры на Паскале и С++ см. ниже.
program mytask; //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** var SimChar : Char; SimCode : Byte; //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** begin Write('Enter any character and press ENTER: '); ReadLn(SimChar); SimCode := Ord(SimChar); WriteLn(SimChar, ' (', SimCode, ')'); WriteLn('Previous character: ', Chr(SimCode-1), ' (', SimCode-1, ')'); WriteLn('Next character: ', Chr(SimCode+1), ' (', SimCode+1, ')'); WriteLn('The end. Press ENTER...'); ReadLn; end.
#include <cstdlib> #include <iostream> using namespace std; //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** int main(int argc, char *argv[]) { char SimChar; int SimCode; cout << "Enter any character and press ENTER: "; cin >> SimChar; SimCode = int(SimChar); cout << SimChar << " (" << SimCode << ")" << endl; cout << "Previous character: " << char(SimCode-1) << " (" << SimCode-1 << ")" << endl; cout << "Next character: " << char(SimCode+1) << " (" << SimCode+1 << ")" << endl; system("PAUSE"); return EXIT_SUCCESS; }

Подписаться на канал в YouTube
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |
![]() |
Основы C++
C++ - это один из самых популярных языков программирования. Не важно, на каком языке программируете лично вы. Но, если вы хотя бы в общих чертах не знаете С++, то это большой пробел в вашем образовании, который надо восполнить как можно быстрее... Подробнее... |