Skip to content

Commit a749589

Browse files
authored
Merge pull request #5 from nedav347/lesson_3
push homework 3
2 parents a2f7136 + 89d2b6f commit a749589

2 files changed

Lines changed: 20 additions & 6 deletions

File tree

lesson_3/lesson3.cpp

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@ extern int ae, be, ce, de;//goto lesson3_ext.cpp
1111

1212
int variable_inint();
1313

14-
int main()
15-
{
14+
int main(){
1615
/*Задание 1
1716
Написать программу, вычисляющую выражение a * (b + (c / d)) и
1817
выводящую результат с плавающей точкой, где a, b, c, d – целочисленные константы
18+
19+
1 есть ещё пара решений без явного приведения типов
1920
*/
2021
const int a = 2, b = 3, c = 4, d = 23;
21-
printf("a * (b + (c / d)) = %f\n", a * (b + ((float)c / d)));
22+
float ff = a * (b + (c / d));
23+
printf("a * (b + (c / d)) = %f | %f\n", a * (b + ((float)c / d)), ff);
24+
2225
/*Задание 2
2326
Дано целое число, выведите на экран разницу между этим числом и числом 21.
2427
Если же заданное число больше, чем 21, необходимо вывести удвоенную разницу
@@ -38,6 +41,10 @@ int main()
3841
/*Задание 4*
3942
Описать трёхмерный целочисленный массив, размером 3х3х3, указатель на значения внутри массива
4043
и при помощи операции разыменования вывести на экран значение центральной ячейки получившегося куба [1][1][1]
44+
45+
46+
4 не очень удобно будет индексировать другие значения в массиве,
47+
нужно будет придумывать и описывать специальную математику, считающую индекс
4148
*/
4249
int arr[3][3][3], *arrptr;
4350
arrptr = &arr[0][0][0];//в методичке сказано, что arrptr = arr[0] корректная инициализация, но мой компилятор ругается на невозможность присвоить 'int [3][3][3]' указателю 'int*'
@@ -46,10 +53,18 @@ int main()
4653
for (int k = 0; k < 3; k++){
4754
arr[i][j][k] = i * 100 + j * 10 + k;
4855
// *(arrptr + i*9 + j*3 + k) = i * 100 + j * 10 + k;//или с использованием указателя
49-
// printf("Cube (arr[%d][%d][%d]) = %d, %d\n", i, j, k, arr[i][j][k], *(arrptr + i*9 + j*3 + k));
56+
printf("Cube (arr[%d][%d][%d]) = %d, %d\n", i, j, k, arr[i][j][k], *(arrptr + i*9 + j*3 + k));
5057
}
5158
}
5259
}
5360
printf("Center of Cube (arr[1][1][1]) = %d\n", *(arrptr + 13));//*arrptr + 1*9 + 1*3 + 1
61+
printf("Center of Cube (arr[1][1][1]) = %d\n", *(*(*(arr + 1) + 1) + 1));
62+
/* std::cout << *(*(*(arr))) << std::endl;//222
63+
std::cout << *(*(*(arr))+1) << std::endl;//222
64+
std::cout << *(*(*(arr)+1)) << std::endl;//222
65+
std::cout << *(*(*(arr+1))) << std::endl;//222
66+
std::cout << *(*(*(arr+1))+1) << std::endl;//222
67+
std::cout << *(*(*(arr+1)+1)) << std::endl;//222
68+
*/
5469
return 0;
5570
}

lesson_3/lesson3_ext.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99

1010
int ae, be, ce,de;
1111

12-
int variable_inint()
13-
{
12+
int variable_inint(){
1413
ae = 10;
1514
be = 20;
1615
ce = 30;

0 commit comments

Comments
 (0)