Advertisement
Guest User

det ochka

a guest
Dec 10th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.47 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. void read_vectors(int dim, float[] x, float[] y, float[] z);
  4. float calculate_mult(int dim, float[] p, float[] q);
  5. float min_coord(int dim, float[] t);
  6. void who_is_who(int dim, float[] x, float[] y, float[] z, float[] a, float[] b, float[] c);
  7.  
  8. int main(void) {
  9.    
  10.     int const DIM = 10;
  11.    
  12.     int dim;
  13.     float x[DIM], y[DIM], z[DIM], a[DIM], b[DIM], c[DIM];
  14.     float answer;
  15.    
  16.     scanf("%d", &dim);
  17.     read_vectors(dim, x, y, z);
  18.    
  19.     who_is_who(dim, x, y, z, a, b, c);
  20.    
  21.     answer = calculate_mult(a, a) - calculate_mult(b, c);
  22.    
  23.     printf("%f", answer);
  24.    
  25.    
  26.     return 0;
  27.    
  28. }
  29.  
  30. void read_vectors(int dim, float[] x, float[] y, float[] z) {
  31.     for (int i = 0; i < dim; i++) { scanf("%f", &x[i]); }
  32.     for (int i = 0; i < dim; i++) { scanf("%f", &y[i]); }
  33.     for (int i = 0; i < dim; i++) { scanf("%f", &z[i]); }
  34. }
  35.  
  36. float calculate_mult(int dim, float[] p, float[] q) {
  37.     float result = 0;
  38.     for (int i = 0; i < dim; i++) {
  39.         result += p[i]*q[i];
  40.     }
  41.     return result;
  42. }
  43.  
  44. float min_coord(int dim, float[] t) {
  45.     float min = t[0];
  46.     for (int i = 1; i < dim; i++) {
  47.         if (t[i] < min) {
  48.             min = t[i];
  49.         }
  50.     }
  51.     return min;
  52. }
  53.  
  54. void who_is_who(int dim, float[] x, float[] y, float[] z, float[] a, float[] b, float[] c) {
  55.     float t;
  56.     float max = min_coord(dim, x);
  57.     a = x;
  58.     b = y;
  59.     c = z;
  60.    
  61.     t = min_coord(dim, y);
  62.     if (t > max) {
  63.         max = t;
  64.         a = y;
  65.         b = x;
  66.         c = z;
  67.     }
  68.    
  69.     t = min_coord(dim, z);
  70.     if (t > max) {
  71.         max = t;
  72.         a = z;
  73.         b = x;
  74.         c = y;
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement