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

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

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

Условие задачи следующее: Среди N точек, заданных своими координатами на плоскости, определить самую дальнюю точку от начала координат. Координаты точек вводятся с клавиатуры или получаются при помощи генератора случайных чисел. Не знаю, правильно ли я использовала функцию rand(),не совсем поняла как используют ее... А так...я вроде написала, как считала вроде правильным..но есть ошибки... не смогла исправить.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int main()
{
   int n,x,y, max, m,l;
   char k;
   system ("chcp 1251> nul");
   printf ("Введите количество точек:");
   scanf("%d", &n);
   printf ("Если будете вводить с клавиатуры , то нажмите N, в противном случае M");
   scanf ("%c", &k);
   max=0;
   switch (k)
   case 'N':
        {
            while (n!=0)
            {
                printf("Введите координаты точки (x,y):");
                scanf("%d %d", &x, &y);
                if (sqrt(x*x+y*y)>max)
                {
                                      max= sqrt(x*x+y*y);
                                      m=x;
                                      l=y;
                }
                n--
             }
             printf("Максимально отдаленная от начала координат точка (%d,%d)", m, l)
        }
   default 'M':
           {
               while (n!=0)
               {
                   printf("Ввод координат точек :");
                   x = rand()%d+1;
                   y = rand()%d+1;
                   printf("%d;%d",x,y);
                   if (sqrt(x*x+y*y)>max)
                   {
                                         max=sqrt(x*x+y*y);
                                         m=x;
                                         l=y;
                   }
                  n--
                }
                printf("Максимально отдаленная от начала координат точка (%d,%d)", m, l)
            }
            getch();
   
}

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

textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
 
 
int main()
{
    int x, x1, y1, y;
    x = rand();
    printf("%d \n", x);
    x1 = rand();
    printf("%d \n", x1);
    
    y = rand();
    printf("%d \n", y);
    y1 = rand();
    printf("%d \n", y1);
    
    if ((x > x1) && (y > y1))
    {
        printf("tochka s koordinatami (x,y) dalshe chem tochka s koordinatami (x1,y1) ");
    }
    else
    {
        if ((x1 > x) && (y1 > y))
        {
            printf("tochka s koordinatami (x1,y1) dalshe chem tochka s koordinatami (x,y) ");
        }
    }
 
    system("pause");
}

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

В этом коде используются функции rand() и srand() для генерации случайных чисел. Сначала определяются четыре переменные: x, x1, y1, y. Значения переменных x и x1 устанавливаются в случайные числа, а затем выводятся на экран. Затем значения переменных y и y1 также устанавливаются в случайные числа и выводятся на экран. Далее выполняется проверка: если (x > x1) и (y > y1), то выводится сообщение о том, что точка с координатами (x,y) находится дальше от начала координат, чем точка с координатами (x1,y1). Если же условие не выполняется, то проверяется, является ли точка с координатами (x1,y1) дальше от начала координат, чем точка с координатами (x,y). Если это так, то выводится соответствующее сообщение. В конце программы вызывается функция system(pause), чтобы программа не закрылась сразу после выполнения.

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


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

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

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