Автор - zentex

С клавиатуры ввести натуральное число n и вещественные числа х1, у1,... хi,уi,. Рассматривая пары хi, и уi, как координаты точек на плоскости, определить радиус наименьшего круга (с центром в начале координат), внутрь которого попадают все эти точки. Вычисление расстояния между двумя точками реализовать в виде функции. Результат вывести в файл оut.txt.

переделайте пожалуйста с паскаля на C(СИ)

uses crt;
var
i,n:integer;
x,y,min,t:real;
begin
clrscr;
write('Введите n = ');
readln(n);
min:=0;
for i:=1 to n do
begin
write ('Введите x[',i,'] = ');
readln(x);
write ('Введите y[',i,'] = ');
readln(y);
t:=sqrt(x*x+y*y);
if t>min thenmin:=t;
end;
write('радиус = ',min:0:2);
readkey;
end.

Ответ

Автор - Koljisto

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

typedef struct pair {

   double* x;

   double* y;

} pair;

pair *input_arrays(pair *ptr, double* arr_x, double* arr_y, int n) {

for (int i = 0; i < n; i++) {

 printf("Введите %d элемент в массиве Xn", i);

 scanf("%lf", &arr_x[i]);

 printf("Введите %d элемент в массиве Yn", i);

 scanf("%lf", &arr_y[i]);

   ptr-> x = arr_x;

   ptr-> y = arr_y;

}

return ptr;

}

void print_array(float* arr, int n) {

 for(int i = 0; i< n; i++){

   printf("%f", arr[i]);

 }

}

double find_minimum_radius(double* arr_x, double* arr_y, int n) {

 double temp;

double min_radius = 0;

 for (int i = 0; i < n; i++) {

 temp = sqrt(pow(arr_x[i], 2) + pow(arr_y[i], 2));

 if (temp > min_radius) {

  min_radius = temp;

 }

}

return min_radius;

}

int main() {

 pair pair_arrx_and_arry = {0,0};

 int n;

 double min_radius = 0;

 printf("Введите n: ");

 scanf("%d", &n);

 double* arr_x = malloc(n * sizeof(int));

 double* arr_y = malloc(n * sizeof(int));

 input_arrays(&pair_arrx_and_arry, arr_x,arr_y, n);

 min_radius = find_minimum_radius(arr_x, arr_y, n);

 printf("Минимальный радиус равен: %f", min_radius);

 // FILE *out_file = fopen("output", "w");

 // if (out_file == NULL) {  

 //     printf("Error! Could not open filen");

 //     exit(-1);

 // }

 // fprintf(out_file, "Минимальный радиус равен: %fn", min_radius);

 return 0;

}

Ответы и объяснения

Сервис носит ознакомительный характер, вся информация, а в частности вопросы и ответы, которые задают и отвечают пользователи.
© 2026 Все права защищены Политика конфиденциальности Контакты
search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation