Согласие на обработку персональных данных.

15.12.2018
Новая задача Как преобразовать байт в килобайт.

05.12.2018
Новые видео и статья Параграфы и выравнивание текста в HTML.

01.12.2018
Новый выпуск журнала Автоматизация и программирование.

26.11.2018
Новые видео и статья Функция Concat.

25.11.2018
Новые видео и статья Справка в Lazarus.



Раздел: Задачи / Простейшие /

Как определить порядковый номер символа

Условие задачи 6.1.2.29

Задача 6.1.2.29
Ввести любой символ и определить его порядковый номер, а также указать предыдущий и последующий символы.

Эту задачу нашёл в одном из учебников, и, честно говоря, не совсем понял её условие. А именно - что такое “порядковый номер символа”? Это его ASCII-код или это его номер в алфавите?

Впрочем, если исходить из того, что символом может быть не только буква (а в задаче сказано, что надо ввести любой символ), то я всё-таки склоняюсь к тому, что автор задачи имел ввиду именно код символа. Ну что же, так и будем думать. Тем более что функция Ord, с помощью которой можно определить код символа, называется так, потому что является сокращением от слова Order (порядок).

Ну что же, задачка для начинающих, поэтому и помещена в раздел “простейшие”. Решать будем так:

  1. Получаем символ от пользователя.
  2. Определяем его КОД с помощью упомянутой выше функции.
  3. Получаем числа КОД-1 и КОД+1, которые будут являться кодами предыдущего и последующего символов соответственно.
  4. Преобразуем эти числа-коды в символы.
  5. Выводим итог на экран.

Примеры на Паскале и С++ см. ниже.

Решение задачи 6.1.2.29 на Паскале
 
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.
Решение задачи 6.1.2.29 на С++
#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;
}

Как определить порядковый номер символа


Основы C++ Основы C++

C++ - это один из самых популярных языков программирования. Не важно, на каком языке программируете лично вы. Но, если вы хотя бы в общих чертах не знаете С++, то это большой пробел в вашем образовании, который надо восполнить как можно быстрее... Подробнее...
Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика