struct VERT // структура для вершины многоугольника { int x; int y; };
// Модуль числа int Modul( int a ) { return (a > 0 ? a : -a); }
// Длина отрезка через координаты float Len( int x1, int y1, int x2, int y2 ) { return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); }
int main () { /// ЗАДАНИЕ 1 /// const int N = 3; int arr[N]; float mid = 0;
// Установка "зерна" для случайных чисел srand(time(NULL)); // Заполнение массива случайными числами и суммирование for (int i = 0; i < N; i++) arr[i] = rand() % 100, mid += Modul(arr[i]);
// Вычисление среднего арифм. mid /= M;
/// ЗАДАНИЕ 2 ///
const int V = 3; // количество вершин многоугольника VERT vert[V]; // массив вершин многоугольника
cout << "Введите координаты вершин (x y): " << endl; for (int i = 0; i < V; i++) { cout << i + 1 << ": "; cin >> vert[i].x >> vert[i].y; }
// Вычисление периметра float per = 0; for (int i = 0; i < V - 1; i++) per += Len(vert[i].x, vert[i].y, vert[i + 1].x, vert[i + 1].y);
cout << "Периметр = " << per << endl;
return 0; }
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Вычислите значения арифметического выражения 167 в восьмиричной -621 в восьмиричной с решением
1 - 1101101₂ = 155₈ = 109₁₀ = 6D₁₆
2 - 100101₂ = 45₈ = 37₁₀ = 25₁₆
3 - 10010₂ = 022₈ = 18₁₀ = 12₁₆
4 - 10101011₂ = 253₈ = 171₁₀ = AB₁₆
Объяснение:
1) 1101101₂ = 155₈
001 101 101 - разбиваем на разряды по 3 символа, а из двоичной в восьмеричную: 001 = 1, 101 = 5, поэтому 1 5 5.
1101101₂ = 2⁶*1 + 2⁵*1 + 2⁴*0 + 2³*1 + 2²*1 + 2¹*0 + 2⁰*1 = 64 + 32 + 0 + 8 + 4 + 0 + 1 = 109₁₀
1101101₂ = 6D₁₆
0110 1101 - разбиваем на разряды по 4 символа, а из двоичной в восьмеричную: 0110 = 6, 1101 = D, поэтому 6D.
2) 100101₂ = 45₈
4₈ = 100₂; 5₈ = 101₂.
45₈ = 8¹*4 + 8⁰*5 = 32 + 5 = 37₁₀
45₈ = 100101₂ = 25₁₆
Сначала переводим в 2-ю СС, потом в 16-ю СС: 0010 0101
0010₂ = 2₁₆; 0101₂ = 5₁₆.
3) в двоичную СС (mod - остаток от деления, каждый раз делим число на 2):
18 mod 2 = 0
9 mod 2 = 1
4 mod 2 = 0
2 mod 2 = 0
1 mod 2 = 1
Остаток от деления записываем в обратном порядке. Получаем: 10010₂.
В восьмеричную СС (mod - остаток от деления, каждый раз делим число на 8):
18 mod 8 = 2
2 mod 8 = 2
0 mod 8 = 0
Остаток от деления записываем в обратном порядке. Получаем: 022₈.
В шестнадцатеричной (mod - остаток от деления, каждый раз делим число на 16):
18 mod 16 = 2
1 mod 16 = 1
Остаток от деления записываем в обратном порядке. Получаем: 12₁₆
4) AB₁₆ = 10101011₂
A₁₆ = 1010₂; B₁₆ = 1011₂
10101011₂ = 253₈:
берём число в 2-й СС, потом разбиваем на разряды по 3 числа: 010 101 011: 010₂ = 2₈, 101₂ = 5₈, 011₂ = 3₈.
10101011₂ = 16¹*10 + 16⁰*11 = 160 + 11 = 171