Определение положения точки относительно начала координат - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdlib.h>
#include <math.h>
 
using namespace std;
void main()
{
    setlocale(0,"russian");
    double x1 , x2 , y1 , y2 , x3, у3, ResultA , ResultB, ResultC;
    printf( " Введите x1 точки A : "); scanf("%lf", &x1);
    printf( " Введите у1 точки A : "); scanf("%lf", &y1);
    printf( " Введите х2 точки B : "); scanf("%lf", &x2);
    printf( " Введите у2 точки B : "); scanf("%lf", &y2);
    printf( " Введите x3 точки C : "); scanf("%lf", &x3);
    printf( " Введите у3 точки C : "); scanf("%lf", &у3);
 
    ResultA = sqrt((x1 * x1)+(y1 * y1));
    ResultB = sqrt((x2 * x2)+(y2 * y2));
    ResultC = sqrt((x3 * x3)+(у3 * у3));
 
    if(ResultA < ResultB && ResultA < ResultC)
         printf( "  Точка A ближе к началу координат ");
    else if(ResultB < ResultA && ResultB < ResultC)
         printf(  " Точка B ближе к началу координат " )
    else if(ResultC < ResultA && ResultC < ResultB)
         printf(   " Точка C ближе к началу координат " )
    else
         printf( "  Три точки равноудаленны от начала координат " )
 
    getchar();
}
C:\Users\User\Documents\rre.c(5): warning #2099: Missing type specifier; assuming 'int'. C:\Users\User\Documents\rre.c(5): error #2001: Syntax error: expected ';' but found 'namespace'. C:\Users\User\Documents\rre.c(5): warning #2099: Missing type specifier; assuming 'int'. C:\Users\User\Documents\rre.c(5): error #2001: Syntax error: expected ';' but found 'std'. C:\Users\User\Documents\rre.c(5): warning #2099: Missing type specifier; assuming 'int'. C:\Users\User\Documents\rre.c(7): warning #2117: Old-style function definition for 'main'. C:\Users\User\Documents\rre.c(7): warning #2181: Incorrect signature for entry-point 'main'; expected 'int __cdecl function(void)' but found 'void __cdecl function(void)'. C:\Users\User\Documents\rre.c(8): warning #2018: Undeclared function 'setlocale'; assuming 'extern' returning 'int'. C:\Users\User\Documents\rre.c(10): warning #2018: Undeclared function 'printf'; assuming 'extern' returning 'int'. C:\Users\User\Documents\rre.c(10): warning #2018: Undeclared function 'scanf'; assuming 'extern' returning 'int'. C:\Users\User\Documents\rre.c(25): error #2001: Syntax error: expected ';' but found 'else'. C:\Users\User\Documents\rre.c(27): error #2001: Syntax error: expected ';' but found 'else'. C:\Users\User\Documents\rre.c(30): error #2001: Syntax error: expected ';' but found 'getchar'. C:\Users\User\Documents\rre.c(30): warning #2018: Undeclared function 'getchar'; assuming 'extern' returning 'int'.

Решение задачи: «Определение положения точки относительно начала координат»

textual
Листинг программы
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <locale.h>
void main()
{
    setlocale(LC_ALL, "Rus");
    double x1 , x2 , y1 , y2 , x3, y3, ResultA , ResultB, ResultC;
    printf( " Введите x1 точки A : "); scanf("%lf", &x1);
    printf( " Введите у1 точки A : "); scanf("%lf", &y1);
    printf( " Введите х2 точки B : "); scanf("%lf", &x2);
    printf( " Введите у2 точки B : "); scanf("%lf", &y2);
    printf( " Введите x3 точки C : "); scanf("%lf", &x3);
    printf( " Введите y3 точки C : "); scanf("%lf", &y3);
 
    ResultA = sqrt((x1 * x1)+(y1 * y1));
    ResultB = sqrt((x2 * x2)+(y2 * y2));
    ResultC = sqrt((x3 * x3)+(y3 * y3));
 
    if(ResultA < ResultB && ResultA < ResultC)
         printf( " Точка A ближе к началу координат ");
    else if(ResultB < ResultA && ResultB < ResultC)
         printf( " Точка B ближе к началу координат ");
    else if(ResultC < ResultA && ResultC < ResultB)
         printf( " Точка C ближе к началу координат ");
    else
         printf( " Три точки равноудаленны от начала координат ");
 
    getchar();
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы
  2. Устанавливается русская локаль для вывода
  3. Объявляются переменные для хранения координат точек
  4. Пользователю предлагается ввести координаты точки A
  5. Пользователю предлагается ввести координаты точки B
  6. Пользователю предлагается ввести координаты точки C
  7. Вычисляется расстояние от каждой точки до начала координат по формуле sqrt((x x) + (y y))
  8. Сравниваются расстояния и выводится сообщение о том, какая точка ближе к началу координат
  9. Программа ожидает нажатия любой клавиши для завершения работы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы