Предмет: Информатика, автор: nastasya6541

Скласти блок-схеми розв’язку задач обробки одновимірних та двовимірних масивів та програму на мові С++
Задано одновимірний масив(и). Заповнити масив(и) випадковим чином. Вивести елементи масиву на екран, виконати необхідну обробку масиву та вивести результат перетворень
Знайти косинус кута між двома векторами (прийняти за вектор масив з 10 елементів).

Ответы

Автор ответа: salpsx
0

#include <iostream>

#include <cmath>

#include <cstdlib>

#include <ctime>

const int SIZE = 10;

void fill(int a[], int s) { for (int i = 0; i < s; i++) a[i] = rand() % 100; }

void print(int a[], int s) { for (int i = 0; i < s; i++) std::cout << a[i] << " "; std::cout << std::endl; }

double cosAngle(int a[], int b[], int s) { double d = 0, nA = 0, nB = 0; for (int i = 0; i < s; i++) { d += a[i] * b[i]; nA += a[i] * a[i]; nB += b[i] * b[i]; } return d / (sqrt(nA) * sqrt(nB)); }

int main() {

   srand(time(NULL));

   int v1[SIZE], v2[SIZE];

   fill(v1, SIZE); fill(v2, SIZE);

   std::cout << "Первый вектор: "; print(v1, SIZE);

   std::cout << "Второй вектор: "; print(v2, SIZE);

   std::cout << "Косинус угла между векторами: " << cosAngle(v1, v2, SIZE) << std::endl;

   return 0;

}

Похожие вопросы
Предмет: Математика, автор: Аноним
Предмет: Биология, автор: Аноним