Skip to content

Commit 65ce363

Browse files
authored
Merge pull request #3 from nedav347/lesson_2
Lesson 2
2 parents 7e33da8 + fabf6d5 commit 65ce363

2 files changed

Lines changed: 98 additions & 7 deletions

File tree

lesson_1/lesson1.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* ªãàá  "Žá­®¢ë ï§ëª  ‘++"
44
*  ¢â®à ¥¤®ªã­¥¢ €.‚.
55
* á।  à §à ¡®âª¨ Notepad++ /ª®¬¯¨«ïâ®à MinGW/
6-
* codepage OEM866
6+
* codepage OEM866.
77
*/
88
#include <iostream>
99

lesson_2/lesson2.cpp

Lines changed: 97 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,105 @@
11
/*
2-
* „®¬ è­¥¥ § ¤ ­¨¥ ª ãபã 1
3-
* ªãàá  "Žá­®¢ë ï§ëª  ‘++"
4-
*  ¢â®à ¥¤®ªã­¥¢ €.‚.
5-
* á।  à §à ¡®âª¨ Notepad++ /ª®¬¯¨«ïâ®à MinGW/
6-
* codepage OEM866
2+
* Домашнее задание к уроку 2
3+
* курса "Основы языка С++"
4+
* автор Недокунев А.В.
5+
* среда разработки Notepad++ /компилятор MinGW/
6+
* codepage UTF-8
77
*/
88
#include <iostream>
99

1010
int main()
1111
{
12-
std::cout << "Hello world!" << std::endl;
12+
//Задание 1
13+
//объявляем и сразу инициализируем
14+
int type_int = 2147483647; //4 байта -2 147 483 648 / 2 147 483 647
15+
unsigned int type_uint = 4294967295; //4 байта
16+
short type_short = 32767; //2 байта -32 768 / 32 767
17+
unsigned short type_ushort = 65535; //2 байта
18+
long type_long = 2147483647; //4 байта
19+
unsigned long type_ulong = 4294967295; //4 байта
20+
char type_char = 'a'; //1 байт
21+
float type_float = 2147483647.0; //4 байта
22+
double type_double = 9223372036854775807.0; //8 байт
23+
24+
//объявляем тип данных enum, заодно и Задание 2 выполним
25+
enum SYMBOL{PLAYER_1_WIN = 'X', PLAYER_2_WIN = 'O', SPACE = ' ', PLAYER_1 = 'x', PLAYER_2 = 'o', HORIZ = '-', VERT = '|', CROSS = '+'};//объявляем тип данных enum
26+
//хотя enum вообще-то int, для удобочитаемости пишем символы, а не их коды ASCII
27+
enum SYMBOL p1 = PLAYER_1;//объявляем переменную и сразу инициализируем
28+
enum SYMBOL p2 = PLAYER_2;
29+
enum SYMBOL s = SPACE;
30+
enum SYMBOL p1w = PLAYER_1_WIN;
31+
enum SYMBOL p2w = PLAYER_2_WIN;
32+
enum SYMBOL h = HORIZ;
33+
enum SYMBOL v = VERT;
34+
enum SYMBOL x = CROSS;
35+
36+
//объявляем тип данных struct, заодно и Задание 4* выполним
37+
static const int size_x = 3, size_y = 3;
38+
struct sGame_field {
39+
const int in_line = 3;//количество полей для выигрыша
40+
struct sCell {//структура для клетки поля
41+
int x_coord, y_coord;//координаты клетки поля
42+
int mode;//состояние клетки поля, где 0 - пусто, 1 - занято игроком 1, 2 - занято игроком 2
43+
} cell_arr[size_x][size_y];
44+
} MyField;
45+
for (int a = 0; a < size_x; a++) {//инициализируем игровое поле
46+
for (int b = 0; b < size_y; b++) {
47+
MyField.cell_arr[a][b].x_coord = a;
48+
MyField.cell_arr[a][b].y_coord = b;
49+
MyField.cell_arr[a][b].x_coord = 0;
50+
};
51+
};
52+
53+
//объявляем тип данных union
54+
union type_union {
55+
int i;
56+
char c;
57+
float f;
58+
};
59+
union type_union U_1;//объявляем переменную
60+
U_1.f = 2147483647.0;//инициализируем
61+
62+
//Задание 3
63+
char field[5][5];//создаем массив
64+
for (int k = 0; k < 5; k++){//инициализируем массив пустым полем для игры крестики-нолики
65+
for (int m = 0; m < 5; m++){
66+
if ((m % 2 == 0) && (k % 2 == 0)){
67+
field[k][m] = s;
68+
} else if ((m % 2 != 0) && (k % 2 != 0)) {
69+
field[k][m] = x;
70+
} else if (m % 2 != 0) {
71+
field[k][m] = v;
72+
} else if (k % 2 != 0) {
73+
field[k][m] = h;
74+
}
75+
printf("%c", field[k][m]);//просто, чтобы проверить себя
76+
}
77+
printf("\n");//наверное, можно было добавить перевод строки в каждый последний элемент строки (тогда размерность станет [5][6]
78+
}
79+
80+
//Задание 5*
81+
struct s_byte {//объявляем тип данных struct,
82+
union type_union {//объявляем тип данных union
83+
int i;
84+
char c;
85+
float f;
86+
};
87+
int is_int : 1;
88+
int is_char : 1;
89+
int is_float : 1;
90+
};
91+
92+
93+
/*
94+
printf("sizeof int %d, %d\n", sizeof(int), type_int);
95+
printf("sizeof uint %d, %u\n", sizeof(unsigned int), type_uint);
96+
printf("sizeof short %d, %hd\n", sizeof(short), type_short);
97+
printf("sizeof short %d, %hu\n", sizeof(unsigned short), type_ushort);
98+
printf("sizeof long %d, %ld\n", sizeof(long), type_long);
99+
printf("sizeof long %d, %lu\n", sizeof(unsigned long), type_ulong);
100+
printf("sizeof char %d, %c\n", sizeof(char), type_char);
101+
printf("sizeof float %d, %f\n", sizeof(float), type_float);
102+
printf("sizeof double %d, %f\n", sizeof(double), type_double);
103+
*/
13104
return 0;
14105
}

0 commit comments

Comments
 (0)