- •1)Коды символов. Таблицы кодов. Коды команд управления выводом данных. Обработка символов.
- •2)Коды символов типа char.Изменение кодировки символа
- •3)Коды символов. Вставка символа в строку
- •4)Вывод символов по их кодам
- •6)Вывод символа шеснадцатиричной цифры по ее коду
- •7)Вывод значения шестнадцатеричной цифры по ее символу
- •8) Вывод значения десятичной цифры по ее символу
- •9)Преобразование строчной латинской буквы а прописную
3)Коды символов. Вставка символа в строку
Символ |
Код MC DOS |
код Windows |
Dos->windows |
|||
unsigned char(0~255) |
char (-128~ 127) |
unsigned char(0~255) |
char -128~127 |
разница |
||
А-Я |
128..159 |
-128..-97 |
192..223 |
-64..-33 |
+64 |
|
а-п |
160..175 |
-96..-81 |
224..239 |
-32..-17 |
+64 |
|
р-я |
224..239 |
-32..-17 |
240..255 |
-16..-1 |
+16 |
|
ё |
241 |
-15 |
184 |
-72 |
замена кода |
|
Ё |
240 |
-16 |
168 |
-88 |
замена кода |
#include <iostream>
#include <iomanip>
#include<fstream>
using namespace std;
//ф-я вставки символа str[] - входная строка
void insert(char str[],int p,char c)
{//цикл от конца строки до места вставки
for(int i=strlen(str);i>=p;i--)
str[i+1]=str[i];
str[p]=c;}
int main()
{setlocale(o,"");
const int L=20;
char c;char s[L];
int n;
cout<<"Введите строку:";cin.getline(s,L);//считывание строки с клавиатуры
cout<<"Введите номер позиции вставки";
cin>>n;
cout<<"Введите символ";
cin>>c;
insert(s,n,c);
cout<<s<<endl;
return 0;}
4)Вывод символов по их кодам
Задача 1)Из чисел (кодов символов) получить соответствующие символы
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{ // ф-я вывода символа по его коду
char c; //символьная переменная
for(int i=33;i<256;i++)
{ c=i; // преобразование кода в символ
cout<<setw(6)<<c<<setw(5)<<i; // вывод символа и кода
if(i%7==0) cout<<endl; // после каждых 7 символов переход на другую строку
} cout<<endl;
return 0;}
5) Вывод символов цифр по их значениямЗадание 1)получить символ десятичой цифры из значения целой переменной,лежащей в диапазоне 0-9
Цифры |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Z |
Коды |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
|
Символы |
‘0’ |
‘1’ |
‘2’ |
‘3’ |
‘4’ |
‘5’ |
‘6’ |
‘7’ |
‘8’ |
‘9’ |
s |
Алгоритм: s=’0’+z=48+z
Пример: z=2; s=48+2=50=’2’
#include<iostream>
#include <iomanip>
using namespace std;
char s(int z) // ф-я
{ if(z>=0 && z<=9) return '0'+z ; else return 'x';}
int main() { for (int i=0;i<12;i++)
cout<<setw(4)<<s(i);// обращение к ф-ии
cout<<endl;
return 0;}
Результат: 0,1,2,..,10,11 – числа
0,1,2,..,х,х - символы
6)Вывод символа шеснадцатиричной цифры по ее коду
Z |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
65 |
66 |
67 |
68 |
69 |
70 |
S |
‘0’ |
‘1’ |
‘2’ |
‘3’ |
‘4’ |
‘5’ |
‘6’ |
‘7’ |
‘8’ |
‘9’ |
‘A’ |
‘B’ |
‘C’ |
‘D’ |
‘E’ |
‘F’ |
#include<iostream>
#include <iomanip>
using namespace std;
char s(int z) // ф-я
{ if(z <=9) return '0'+z ; else return 'A'+z-10;}
int main()
{ for (int i=0;i<16;i++)
cout<<setw(4)<<i;// обращение к ф-ии
cout<<endl;
//Вывод 16-и ричной цифры
for (int i=0;i<16;i++)
cout<<setw(4)<<s(i);// обращение к ф-ии
cout<<endl;
return 0;}