• Пожалуйста! Помогите написать код для программы с процедурой!
    Составьте процедуру, которая определяет точки, расстояние между которыми максимально и минимально. Координаты точек заданы в массивах X(n), Y(n), n<=20. Использовать составленную процедуру для массивов X1, Y1, вывести номера найденных точек, а также расстояние между ними.

    Язык С.

Ответы 1

  • #include <stdio.h> #include <math.h>void minmax(int x1[],int y1[]){ int i, j, imax, jmax, imin, jmin; int len=sizeof(x1); float max = 0; float min = 1000; float r; for ( i = 0; i < len-1; i ++ )       for ( j = i+1; j < len; j ++ )      {      r = sqrt((x1[i]-x1[j])*(x1[i]-x1[j])+(y1[i]-y1[j])*(y1[i]-y1[j]));      if (r>max) { max = r; imax = i; jmax = j;}      if (r<min) { min = r; imin = i; jmin = j;}      }   printf("max = %f точки: %d - %d", max, imax+1, jmax+1);   printf("min = %f точки: %d - %d", min, imin+1, jmin+1);}int main() {    int n=5;   int x[n], y[n], i;    srand (time(NULL));     for ( i = 0; i < n; i ++ )     {    x[i] = rand() % 20 -10;    y[i] = rand() % 20 -10;    printf ("%4d, %4d ", x[i], y[i]);    printf("");   }    minmax(x,y);    return 0;}Пример: -10, 4-5, 2-9, -1 7, 2 7, -3max = 17.117243 точки: 1 - 4 min = 5.000000 точки: 2 - 3
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years