From 681233f4f5ac658992ccb2910b2970f9cc04aa48 Mon Sep 17 00:00:00 2001 From: margaret-k <60312043+margaret-k@users.noreply.github.com> Date: Mon, 25 May 2020 23:56:14 +0300 Subject: [PATCH] Create dz14 --- dz14 | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 dz14 diff --git a/dz14 b/dz14 new file mode 100644 index 0000000..902f091 --- /dev/null +++ b/dz14 @@ -0,0 +1,76 @@ +#include +#include +#include +#include +int find_coords(char *s); + +double len(int x1[3], int x2[3]){ + double l = 0; + for(int i = 0; i < 3; ++i){ + l += (x1[i] - x2[i]) * (x1[i] - x2[i]); + } + return sqrt(l); +} + +int main(){ + char *s; + s = "file4.txt"; + find_coords(s); +} + +int find_coords(char *s){ + FILE *f = fopen(s, "r"); + char *r; + r = (char *) malloc(sizeof(char)); + int n = 0; + int p = 0; + while(!feof(f)) + { + char c; + fscanf(f,"%c", &c); + if(c == ' ') {} + else{r[n] = c;} + if(c == ';') {p++;} + n++; + r = (char *) realloc(r, sizeof(char));} + + fclose(f); + int x[p][3]; + int k = 0; + int j = 0; + int u = 0; + int t = 0; + for (int i = 0; i < n; i++) + { + if(r[i] == ',' && t >= 1 ){ + x[k][j] = atoi(&r[u + 1]); + j++; + u = i; + } + if(r[i] == ',' && t < 1 ){ + x[k][j] = atoi(&r[0]); + t++; + j++; + u = i; + } + if (r[i] == ';'){ + x[k][j] = atoi(&r[u + 1]); + k++; + j = 0; + u = i; + } + } + free(r); + double l = 0.0; + k = 0; j = 0; + for(int i = 0; i < p - 1; i++) + { + for (int b = i + 1; b < p; b++) + { + if(len(x[i], x[b]) > l ) + {k = i + 1; j = b + 1; l = len(x[i], x[b]);} + } + } + printf("Max len between %d and %d points", k, j); + return 1; +}