Вычислить координаты точки, наиболее удаленной от начала координат - C (СИ)

  1. Добрый день! Исправьте пожалуйста что не так))) Условие: По вводимым координатам трех точек А,В,С на плоскости вычислить координаты точки, наиболее удаленной от начала координат, используя собственную функцию определения расстояния заданной точки от начала координат. Вот код:C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include<stdio.h> #include<conio.h> void main() {  int Sa,Sb,Sc,Xa,Ya,Xb,Yb,Xc,Yc;  printf("\n vvedite koordinati tochki A:");  scanf("%f%f",&Xa,&Ya);  printf("\n vvedite koordinati tochki B:");  scanf("%f%f",&Xb,&Yb);  printf("\n vvedite koordinati tochki C:");  scanf("%f%f",&Xc,&Yc);  Sa=(Xa,Ya);  Sb=(Xb,Yb);  Sc=(Xc,Yc);  getch(); }  int my Min(int x, int y); {  return sqrt(x*x+y*y); }  


textual

Код к задаче: «Вычислить координаты точки, наиболее удаленной от начала координат - C (СИ)»

#include <stdio.h>
#include <math.h>
 
double get_distance(double x, double y);
 
int main()
{
    double Sa,Sb,Sc,Xa,Ya,Xb,Yb,Xc,Yc;
 
    printf("\n Введите координаты точки A:");
    scanf("%lf%lf",&Xa,&Ya);
 
    printf("\n Введите координаты точки B:");
    scanf("%lf%lf",&Xb,&Yb);
 
    printf("\n Введите координаты точки C:");
    scanf("%lf%lf",&Xc,&Yc);
 
    Sa = get_distance(Xa,Ya);
    Sb = get_distance(Xb,Yb);
    Sc = get_distance(Xc,Yc);
 
    double max = Sa;
    int flag = 1;
    if ( max < Sb ) {
        max = Sb;
        flag = 2;
    }
 
    if ( max < Sc ) {
        max = Sc;
        flag = 3;
    }
 
    if ( 1 == flag ) {
        printf( "Наибольшее расстояние от начала координат %f имеет точка A\n", max );
    }
    else if ( 2 == flag ) {
        printf( "Наибольшее расстояние от начала координат %f имеет точка B\n", max );
    }
    else if ( 3 == flag ) {
        printf( "Наибольшее расстояние от начала координат %f имеет точка C\n", max );
    }
    else {
        printf( "Неожиданное значение флага\n" );
    }
 
    return 0;
}
 
double get_distance(double x, double y)
{
 return sqrt(x*x+y*y);
}

СДЕЛАЙТЕ РЕПОСТ

5   голосов, оценка 4.600 из 5



Похожие ответы
  1. Всем привет, помогите пожалуйста решить задачу Задание: Написать программу для расчета по двум формулам. Результат вычисления по первой формуле должен совпадать со второй. Использовать операции потокового ввода-вывода.

  1. Назначение: вычисляет десятичное значение целого числа по заданной строке символов s, который является записью этого числа в двоичной системе счисления. Постановка задачи В соответствии с вариантом задания составить функцию для обработки символьных строк и программу для проверки работоспособности функции. За образец можно брать библиотечные функции обработки строк языка С, но не использовать их в своей функции. При выполнении 1-го задания необходимо: 1. Строки для тестирования функции вводить в главной программе с клавиатуры. 2. Предусмотреть обработку ошибок в задании параметров и особые случаи. 3. Разработать два варианта заданной функции с использованием: а) индексированных массивов; б) указателей.

  1. Помогите пожалуйста. Использовать стандартные функции и арифметические операторы; изучить операторы отношения и присваивания, логические операции, условный оператор и оператор-переключатель; научиться использовать в программах операторы цикла. Написать программы на изученные темы. Для заданного x вычислить значение функции y=ctg x , где x (0, 2 )

  1. Все Работает если вводить без пробелов, но с пробелом выводится только первое число, (если можно с кратким объяснением пожалуйста)C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include #include     int main(){       char str[100];     int x = 0;     scanf("%s", str);     for(int i = 0;i < strlen(str);i++)     {         if((str[i] >= '1') && (str[i] <= '9'))         {             x += ((int)str[i] - 48);                     }     }     printf("%d", x);       return 0; }

  1. по идее программа должна вычислять сумму всех положительных элементов квадратной матрицыC1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include #include  main () {int n=3,m=3,a[3][3],i,j,z; z=0; for(i=n;i0) z+=a[i][j]; printf("z=%d\n",&z);} system("pause"); return(0); }

  1. C1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include int main() { int a, x, i; printf("\tВас приветствует программа авто ряд!\nВведите номер члена прогрессии:\n"); scanf("%d", a); do { x=1*pow(2,i)+x; } while (i

  1. помогите, пожалуйста с заданием: Вычислить сумму первых N элементов ряда: 1+ x^1/1! + x^2/2! + x^3/3! + ... Вычисления проводить до тех пор, модуль очередного элемента больше ε .

  1. Дан y=x-x^3/3!+x^5/5!... Мы вводим только x и n. Программа работает неправильно помогите исправить. Так же нужно проверить чтобы при x=6.28 она работала верно Вот код:C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include #include   main() { float x,t,s; int i,n;     printf("\n x=");     scanf("%f", &x);     printf("\n n=");     scanf("%d", &n); t=x; s=t; for (i=1; i<=n; i++); {     t*=(-t)*x*x/(2*n)/(2*n+1);     s+=t; }    printf( "\n%3f",s);    printf( "\n%3f",sin(x));      return 0;   }

  1. Даны натуральное число n, действительные числа a1,...,an. Вычислить: a1a1, a1a2, a1a3,...,a1an; Помогите пожалуйста! Буду благодарен!!! Мне хотя бы понять суть если кому не сложно помочь с меню, которое выбирает с консоли ли числа так считать или с файла

  1. Вычислить значение наименьшего элемента для каждого столбца массива N <= 7, M <= 5(массив должен быть реализован через malloc)