#include <iostream>
#include <cmath>
using namespace std;
int* createArrow(int k){
	int* arr=new int [k];
	return arr;
}
double* createDoubleArrow(int k){
	double* arr=new double [k];
	return arr;
}


void readArrow(int* arr, int k) {
   for (int i = 0; i < k; i++) {
       	cin >> arr[i];
	}
}
void printArrow(int* arr,int k){
   for (int i = 0; i < k; i++) {
       	cout<<arr[i]<<" ";
   }
   
}
void printDoubleArrow(double* arr,double k){
   cout<<endl<<"Нормирования компонент вектора(массив 1): ";
   for (int i = 0; i < k; i++) {
       	cout<<arr[i]<<" ";
   }
   
   
}
void sumArrow(int* arr,int* arr1,int* result, int k){
	for (int i = 0; i < k; i++) {
    	result[i]=arr[i]+arr1[i];
	}
	cout<<endl<<"Сумма масивов: ";
	
	
}
void minusArrow(int* arr,int* arr1,int* result, int k){
	for (int i = 0; i < k; i++) {
    	result[i]=arr[i]-arr1[i];
	}
	
}
double vectorLength(int* arr, int k){
	double sum=0;
	for (int i = 0; i < k; i++) {
    	sum=sum+(arr[i]*arr[i]);
	}
	
	return sqrt(sum);
}
void normVector(int* arr,double* result, int k, double vectorLength1){
	for (int i = 0; i < k; i++) {
    	result[i]=arr[i]/vectorLength1;
	}
	;
}


int skalyarniyDobutokVectoriv(int* arr, int* arr1, int k){
	int sum=0;
	for (int i = 0; i < k; i++) {
    	sum=sum+(arr[i]*arr1[i]);
	}
	cout<<endl<<"Скалярное произведение векторов(массива 1 и 2): ";
	return sum;
}


double seredneArifmetichneKomponentVectora(int* arr, int k){
	int sum=0;
	for (int i = 0; i < k; i++) {
    	sum=sum+arr[i];
	}
	return sum/k;
}


double euclidVidstan(int* arr, int k){
	int sum=0;
	for (int i = 0; i < k; i++) {
    	sum=sum+(arr[i]*arr[i]);
	}
	return sqrt(sum);
	cout<<endl;
}


int main() {
    
	int n, m;
	cin>>n;
	int* v = createArrow(n);
	
	cout<<"Массив1: ";
    readArrow(v, n);
	printArrow(v, n);
	
	int* v1 = createArrow(n);
	readArrow(v1, n);
	
	int* v2 = createArrow(n);
	sumArrow(v,v1,v2,n);
	printArrow(v2, n);
	
	cout<<endl<<"Разница масивов: ";
	minusArrow(v, v1, v2, n);
	printArrow(v2, n);
	
	cout<<endl<<"Длина вектора(массив1): "<<vectorLength(v,n);
	
	double* v3 = createDoubleArrow(n);
	normVector(v,v3,n,vectorLength(v,n));
	printDoubleArrow(v3, n);
	
	cout<<skalyarniyDobutokVectoriv(v, v1,n);
	
	cout<<endl<<"Среднее арифметическое компонент вектора: "<<seredneArifmetichneKomponentVectora(v, n);
	
	minusArrow(v, v1, v2, n);
	cout<<endl<<"Евклидово расстояние: "<<euclidVidstan(v2,n);
	
	
}
