Advertisement
CosmicFox33

Untitled

Oct 5th, 2021
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.35 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. #define lmax 20
  5.  
  6.  
  7. int main()
  8. {
  9.     setlocale(LC_ALL, "Rus");
  10.  
  11.     int A[lmax+1][lmax+1], B[lmax+1], n, m, k, i, j,t,l, flag_arr, flag, c, flag_i;
  12.  
  13.     printf("Лабораторная работа №2\n");
  14.     printf("Задание №1\n");
  15.  
  16.     do
  17.     {
  18.         printf("Введите количество строк и столбцов матрицы от 1 до %d: \n", lmax);
  19.         scanf("%d", &n);
  20.         scanf("%d", &m);
  21.     }
  22.     while(n<=0 || n>lmax || m<=0 || m>lmax);
  23.     printf("Введите значения элементов матрицы: ");
  24.     for(i=1;i<=n;i++)
  25.     {
  26.         for(j=1;j<=m;j++)
  27.         {
  28.             scanf("%d", &A[i][j]);
  29.         }
  30.     }
  31.     do
  32.     {
  33.         printf("Введите длину массива от 1 до %d: ", lmax);
  34.         scanf("%d", &k);
  35.     }
  36.     while(k<=0 || k>lmax);
  37.     printf("Введите значения элементов массива: ");
  38.     for(i=1; i<=k; i++) scanf("%d", &B[i]);
  39.     printf("\nМатрица:\n");
  40.     for(i=1;i<=n;i++)
  41.     {
  42.         for(j=1;j<=m;j++)
  43.         {
  44.             printf("%8d", A[i][j]);
  45.         }
  46.         printf("\n");
  47.     }
  48.     printf("Массив: \n");
  49.     for(i=1; i<=k;i++) printf("%8d ", B[i]);
  50.     flag_arr=0;
  51.     c=0;
  52.     for(j=1;j<=m;j++)
  53.     {
  54.         i=1;
  55.         do
  56.         {
  57.             flag_i=0;
  58.             l=1;
  59.             do
  60.             {
  61.                 if(B[l++]==A[i][j]) flag_i=1;
  62.             }
  63.             while(l<=k && flag_i==0);
  64.             i++;
  65.  
  66.         }
  67.         while(i<=n && flag_i==1);
  68.         if(flag_i==1)
  69.         {
  70.             flag_arr=1;
  71.             for(i=1; i<=n-1; i++)
  72.             {
  73.                 for(t=i+1; t<=n; t++)
  74.                     if(A[i][j]<A[t][j])
  75.                     {
  76.                     c=A[i][j];
  77.                     A[i][j]=A[t][j];
  78.                     A[t][j]=c;
  79.                     }
  80.             }
  81.         }
  82.  
  83.     }
  84.     if(flag_arr==1)
  85.     {
  86.         printf("\nИзменённая матрица:\n");
  87.         for(i=1;i<=n;i++)
  88.         {
  89.             for(j=1;j<=m;j++)
  90.             {
  91.                 printf("%8d", A[i][j]);
  92.             }
  93.             printf("\n");
  94.         }
  95.     }
  96.     else printf("\nМатрица осталась без изменений\n");
  97.  
  98.  
  99.     return 0;
  100. }
  101.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement