B предыдущую букву; c последующую букву



Дата05.05.2023
өлшемі23.2 Kb.
#473246
түріПрограмма
Задание 5


Задание 5:
1. Создай программу, которая по заданной букве определяет и выводит на экран (например, ввод d, вывод 4, c, e): a) порядковый номер данной буквы в алфавите;
b) предыдущую букву;
c) последующую букву.



#include
using namespace std;

int main() {


char c;
cout << "Введите букву: ";
cin >> c;

// Определение порядкового номера буквы


int position = c - 'a' + 1;
cout << "Порядковый номер: " << position << endl;

// Определение предыдущей буквы


char prev = c - 1;
if (prev < 'a') {
prev = 'z';
}
cout << "Предыдущая буква: " << prev << endl;

// Определение следующей буквы


char next = c + 1;
if (next > 'z') {
next = 'a';
}
cout << "Следующая буква: " << next << endl;

return 0;


}



Программа использует арифметические операции для определения порядкового номера буквы в алфавите и для нахождения предыдущей и следующей буквы. Обратите внимание, что в случае, если предыдущая буква должна быть буквой 'a', а следующая - 'z', происходит циклическое зацикливание.



Задание 5
2. Создай программу, которая по заданному порядковому номеру
в алфавите определяет и выводит на экран (например, ввод 6, вывод f, e, g):
a) соответствующую букву;
b) предыдущую букву;
c) последующую букву.



#include
using namespace std;
int main() {
int num;
char letter;
cout << "Введите порядковый номер буквы: ";
cin >> num;
letter = 'a' + num - 1;
cout << "Соответствующая буква: " << letter << endl;
letter = 'a' + num - 2;
cout << "Предыдущая буква: " << letter << endl;
letter = 'a' + num;
cout << "Последующая буква: " << letter << endl;
return 0;
}

Обратите внимание, что в C++ символьные переменные могут хранить ASCII-коды символов. Поэтому, чтобы получить букву по порядковому номеру, мы используем выражение 'a' + num - 1. При этом, 'a' имеет ASCII-код 97, поэтому при num = 1 получится 'a' + 1 - 1, то есть 'a'. При num = 2 будет 'a' + 2 - 1, то есть 'b', и т.д.

#include
#include
using namespace std;
int main() {
setlocale(LC_ALL,"Russian");
char letter;
int code, index;
cout << "Введите порядковый номер=";
cin >> index;
code=index+96;
letter=char(code);
cout << "буква под номером " <cout << "Предыдущая буква: " <cout << "Последующая буква: " <return 0;
}




Задание 4. В офисных программах есть команда Регистр, которая
меняет регистр букв – заглавную букву заменяет строчной или строчную заглавной. Создай две аналогичные программы.
1. Заменяет заглавную букву строчной буквой. Например, A->a.
2. Заменяет строчную букву заглавной буквой. Например, z->Z.



1. Замена заглавной буквы на строчную:
#include
using namespace std;


int main() {
char c;
cout << "Введите символ: ";
cin >> c;


if (isupper(c)) {
c = tolower(c);
}


cout << "Результат: " << c << endl;


return 0;
}

Обе программы используют функции isupper() и islower(), чтобы проверить, является ли символ заглавной или строчной буквой. Если символ соответствует нужному регистру, то он заменяется на символ с противоположным регистром при помощи функций tolower() и toupper().



2. Заменяет строчную букву заглавной буквой. Например, z->Z.


#include
using namespace std;


int main() {
char c;
cout << "Введите символ: ";
cin >> c;


if (islower(c)) {
c = toupper(c);
}


cout << "Результат: " << c << endl;


return 0;
}

2 вариант без функции
#include
#include


using namespace std;


int main() {
setlocale(LC_ALL,"Russian");

char c;
int code;
cout << "Введите символ: ";
cin >> c;
code=char(c);
c=char(code-32);


cout << "Результат: " <

return 0;
}



Стандартная библиотека С++ также предоставляет ряд встроенных функций для работы с символами. В основном они связанны с проверкой символов:

1

isupper(c)

проверяет, является ли c заглавной буквой, по умолчанию от "A" до "Z"

2

islower(c)

проверяет, является ли c буквой нижнего регистра, по умолчанию от 'a' до 'z'



3

isalpha(c)

проверяет, является ли c алфавитным символом



4

isdigit(c)

проверяет, является ли c цифрой от '0' до '9'



5

isxdigit(c)

проверяет, является ли c шестнадцатеричной цифрой, от '0' до '9', от 'a' до 'f' или от 'A' до 'F'



6

isalnum(c)

проверяет, является ли c алфавитно-цифровым символом; аналогично isisalpha(c) || isdigit(c)



7

isspace(c)

проверяет, является ли c пробелом (' '), символом перевода строки ('\n'), возвратом каретки ('\r'), перевод страницы ('\f'), горизонтальная ('\t') или вертикальная ('\v') табуляция



8

isblank(c)

проверяет, является ли c пробелом (' ') или символом табуляция ('\t')



9

ispunct(c)

проверяет, является ли c символом пунктуации (один из следующих: _ { } [ ] # ( ) < > % : ; ? * + - / ^ & | ~ ! "=")



10

isprint(c)

проверяет, является ли c печатным символом, который включает прописные или строчные буквы,цифры, знаки пунктуации и пробелы



11

iscntrl(c)

проверяет, является ли c управляющим непечатным символом



12

isgraph(c)

проверяет, имеет ли c графическое представление

13

tolower(c)

переводит символ c в нижний регистр

14

toupper(c)

переводит символ c в верхний регистр





strlen() – подсчитывает длину строки (количество символов без учета \0);


strcat() – объединяет строки;


strcpy() – копирует символы одной строки в другую;


strcmp() – сравнивает между собой две строки
erase() - удаление заданного количества символов из строки. Функция
insert()- вставка символов в строке.

Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет