C++ как записать эту программу?
Заданы три массива вещественных чисел размерности N – координаты xi , yi , zi точек в пространстве. Напишите функцию, вычисляющую расстояния от точек массивов до заданной точки A (x, y, z), напомю что:

Приложения:

Ответы

Ответ дал: shanoza1999
0
#include<iostream>
#include<math.h>
using namepacpase std;
int main()
{
int n,x[1000],y[1000],z[1000],x,y,z,i;
cin>>n;
for(i=1;i<=n;i++)
  cin>>x[i];
for(i=1;i<=n;i++)
  cin>>x[i];
for(i=1;i<=n;i++)
  cin>>y[i];
for(i=1;i<=n;i++)
  cin>>z[i];
for(i=1;i<=n;i++)
   {
      d=sqr((x[i]-x)*(x[i]-x)+(y[i]-y)*(y[i]-y)+(z[i]-z)*(z[i]-z))
      cout<<d;}
return 0;
}

Ответ дал: adamsk
0
#include "stdafx.h"
#include <iostream>
#include <math.h>

#define N 4
#define E 3

using namespace std;

void dist(double *x, double *y, double *z, double *d, double *A);//прототип функции

int _tmain(int argc, _TCHAR* argv[])
{
setlocale( LC_ALL,"Russian" );

double *x = new double[N]; // выделение памяти для матриц
double *y = new double[N];
double *z = new double[N];
double *A = new double[E];
double d[N];
for (int i=0; i < N; i++)
{
x[i] = rand() % 100;
y[i] = rand() % 100;
Ответ дал: adamsk
0
z[i] = rand() % 100;
}
for (int i=0; i < N; i++)
{
cout << "x= " << x[i] << " y= " << y[i] << "z= " << z[i] << endl;
}
for (int i = 0; i < E; i++)
A[i] = rand() % 100;
cout << "Ax=" << A[0] <<  "  Ay= " << A[1] << "  Az= " << A[2] << endl;
dist(x, y, z, d, A);
for (int i = 0; i < N; i++)
cout << "d= "<< d[i] << endl;

cout << "код ячейки 4: "<< x <<endl <<"1 способ: " << x[2] << endl << "2 способ: " << *(x + 2) << endl;

delete[] x;//освобождение памяти
delete[] y;
delete[] 
Ответ дал: adamsk
0
delete[] z;
system("PAUSE");
    return 0;
}

void dist(double *x, double *y, double *z, double *d, double *A)
{
for (int i = 0; i < N; i++)
d[i] = sqrt(pow(x[i] - A[0], 2) + pow(y[i] - A[1], 2) + pow(z[i] - A[2], 2));// формула по которой работает массив
}
Вас заинтересует