Задача 3. На плоскости декартовыми координатами заданы 10 точек

На плоскости декартовыми координатами заданы 10 точек:

{x1,y1},{x2,y2},...,{х1010}.

Вывести полярные координаты точки, имеющей наибольший полярный радиус. Вычисление полярных координат одной точки оформить подпрограммой. Расчетные формулы для вычисления полярных координат следующие:

, где а и b - координаты точки.

Решение:

#include "stdafx.h"

#include<math.h>

void PK(float a, float b, float *ro, float *fi) /* функция для расчета полярных координат точки */

{

*ro = sqrt(a*a + b*b);

*fi = atan(b/a);

}

int main()

{

float X[10], Y[10], R[10], F[10];

int i, n;

float max;

printf("Введите абсциссы 10 точек\n");

for (i=0;i<10;i++) scanf("%f",&X[i]);

printf(" Введите ординаты 10 точек\n");

for (i=0;i<10;i++) scanf("%f",&Y[i]);

max = 0;

for (i=0;i<10;i++)

{

PK(X[i],Y[i],&R[i],&F[i]);

if (R[i]>max) // поиск максимального радиуса

{

max =R[i];

n=i;

}

}

printf("romax=%f fimax=%f\n", R[n],F[n]);

return 0;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: