Advertisement
Asmund_11

2_LB

Dec 5th, 2019
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.47 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. #define N 50
  4.  
  5. double Function(double v1[], double v2[], int ks);
  6.  
  7. int main()
  8. {
  9.     system("chcp 1251");
  10.     int i, j, n = 0, k = 0, kr, ks;
  11.     double arr[N][N], s, dob, dob_max = 0;
  12.     printf("Кількість рядків: ");
  13.     scanf_s("%d", &kr);
  14.     printf("Кількість стовпців: ");
  15.     scanf_s("%d", &ks);
  16.     printf("Введіть дійсні числа: ");
  17.     for (i = 0; i < kr; i++)
  18.         for (j = 0; j < ks; j++)
  19.             scanf_s("%lf", &arr[i][j]);
  20.     for (i = 0; i < kr; i++) {
  21.         for (j = 0; j < ks; j++) {
  22.             printf("%.1lf ", arr[i][j]);
  23.         }
  24.         printf("\n");
  25.     }
  26.     printf("\n");
  27.  
  28.     for (i = 0; i < kr; i++) {
  29.         for (j = i + 1; j < kr; j++) {
  30.             dob = Function(arr[i], arr[j], ks);     //використання функції
  31.             if (dob > dob_max) {
  32.                 dob_max = dob;
  33.                 n = i; k = j;
  34.             }
  35.             printf("%lf - %d з %d\n", dob, i, j);
  36.         }
  37.     }
  38.     printf("\nНайбільший добуток - %lf (%d з %d)\n\n", dob_max, n, k);
  39.  
  40.     //Зміна місць елементів і друк матриці
  41.     for (i = 0; i < ks; i++) {
  42.         s = arr[n][i]; arr[n][i] = arr[k][i]; arr[k][i] = s;
  43.     }
  44.     for (i = 0; i < kr; i++) {
  45.         for (j = 0; j < ks; j++) {
  46.             printf("%.1lf ", arr[i][j]);
  47.         }
  48.         printf("\n");
  49.     }
  50.     return 0;
  51. }
  52.  
  53. double Function(double v1[], double v2[], int ks)
  54. {
  55.     double dob = 0, sum = 0; int i;
  56.  
  57.     for (i = 0; i < ks; i++) {
  58.         dob = v1[i] * v2[i];
  59.         sum += dob;
  60.     }
  61.     return sum;
  62. }
  63.  
  64.  
  65.  
  66.  
  67.  
  68. /*#include <stdio.h>
  69.  
  70. #define N 50
  71.  
  72. int main()
  73. {
  74.     system("chcp 1251");
  75.     int i, j, kr, ks;
  76.     int arr[N][N], dob = 0, max = 0, min = 0, ryadok = 0, stovp = 0;
  77.     printf("Кількість рядків: ");
  78.     scanf_s("%d", &kr);
  79.     printf("Кількість стовпців: ");
  80.     scanf_s("%d", &ks);
  81.     printf("Введіть числа: ");
  82.     for (i = 0; i < kr; i++)
  83.         for (j = 0; j < ks; j++)
  84.             scanf_s("%d", &arr[i][j]);
  85.     for (i = 0; i < kr; i++) {
  86.         for (j = 0; j < ks; j++) {
  87.             printf("%d ", arr[i][j]);
  88.         }
  89.         printf("\n");
  90.     }
  91.     printf("\n");
  92.  
  93.     for (i = 0; i < kr; i++) {
  94.         for (j = 0; j < kr; j++) {
  95.             if (arr[i][j] > max) {
  96.                 max = arr[i][j];
  97.                 ryadok = i;
  98.             }
  99.         }
  100.     }
  101.  
  102.     for (i = 0; i < kr; i++) {
  103.         for (j = 0; j < kr; j++) {
  104.             if (arr[i][j] < min) {
  105.                 min = arr[i][j];
  106.                 stovp = j;
  107.             }
  108.         }
  109.     }
  110.     printf("\nРядок - %d", ryadok);
  111.     printf("\nСтовпець - %d", stovp);
  112.  
  113.     for (i = 0; i < kr; i++) {
  114.             dob += arr[ryadok][i] * arr[i][stovp];
  115.     }
  116.     printf("\nДобуток - %d", dob);
  117.     return 0;
  118. }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement