В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
GevorgStepanyan
GevorgStepanyan
17.06.2020 05:08 •  Информатика

Написать код для программы с процедурой! составьте процедуру, которая определяет точки, расстояние между которыми максимально и минимально. координаты точек заданы в массивах x(n), y(n), n< =20. использовать составленную процедуру для массивов x1, y1, вывести номера найденных точек, а также расстояние между ними. язык с.

Показать ответ
Ответ:
Reixerrr
Reixerrr
04.10.2020 11:04
#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\n", max, imax+1, jmax+1);
   printf("min = %f точки: %d - %d\n", 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("\n");
   }
    minmax(x,y);
    return 0;
}

Пример:
-10, 4
-5, 2
-9, -1
 7, 2
 7, -3
max = 17.117243 точки: 1 - 4
min = 5.000000 точки: 2 - 3
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота