Раздел: Задачи / Простейшие /
Как определить порядковый номер символа
Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее... |
Условие задачи 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; }
Вступить в группу "Основы программирования"
Подписаться на канал в РУТУБ Подписаться на Дзен-канал Подписаться на рассылки по программированию |
Как стать программистом 2.0
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее... |
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее... |