@@ -11,14 +11,17 @@ extern int ae, be, ce, de;//goto lesson3_ext.cpp
1111
1212int 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}
0 commit comments