daily pastebin goal
63%
SHARE
TWEET

Untitled

a guest Dec 11th, 2018 61 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h> //стандарт
  2. #include <math.h> //sin cos
  3. #include <conio.h> //ввод вывод
  4. #include <cstdlib> //рандома
  5. #include <time.h> //обнуление рандома
  6.  
  7. #define rows 9 //строк в массиве. массивы A1, A2, B1, B содержат в себе rows элементов.
  8. #define cols 4 //колонок в массиве
  9.  
  10. int MatrixMinimum(float matrix[rows][cols])
  11. {
  12.     float min = matrix[0][0];
  13.     int imin = 0;
  14.     for (int i = 0; i < rows; i++)
  15.     {
  16.         for (int j = 0; j < cols; j++)
  17.             if (matrix[i][j] < min)
  18.             {
  19.                 min = matrix[i][j];
  20.                 imin = i;
  21.             }
  22.     }
  23.     imin;
  24.     return imin;
  25. }
  26.  
  27. float InsertionSort(float matrix[rows])
  28. {
  29.     float temp;
  30.     int item;
  31.     for (int i = 2; i < rows - 1; i += 2)
  32.     {
  33.         temp = matrix[i];
  34.         item = i - 2;
  35.         while (item >= 0 && matrix[item] > temp)
  36.         {
  37.             matrix[item + 2] = matrix[item];
  38.             matrix[item] = temp;
  39.             item = item - 2;
  40.         }
  41.     }
  42.     return matrix[rows];
  43. }
  44.  
  45. int main(void) // void значит, что функция ничего не возвращает.
  46. {
  47.     srand(time(NULL)); //удали или закоментируй эту строку для отключения рандома
  48.  
  49.     //A INITIALIZE LOAD. Инициализация и заполнение массива А.
  50.     float matrix_a[rows][cols];
  51.     for (int i = 0; i < rows; i++)
  52.     {
  53.         //printf_s("Input line %i\n", i); //раскоментируй эту строку для включению ручного ввода//
  54.         for (int j = 0; j < cols; j++)
  55.             //scanf_s("%f", &matrix_a[i][j]); //раскоментируй эту строку для включению ручного ввода
  56.             matrix_a[i][j] = rand() % 100 - 50; //удали или закоментируй эту строку для отключения рандома
  57.     }
  58.     //A INITIALIZE UNLOAD
  59.  
  60.     //A OUTPUT LOAD. Вывод массива А
  61.     printf_s("Matrix A:\n");
  62.     for (int i = 0; i < rows; i++)
  63.     {
  64.         printf_s("|");
  65.         for (int j = 0; j < cols; j++)
  66.             printf_s("%.1f\t", matrix_a[i][j]);
  67.         printf_s("|\n");
  68.     }
  69.     //A OUTPUT LOAD
  70.  
  71.     //B INITIALIZE LOAD. Инициализация B
  72.     float matrix_b[rows];
  73.     for (int i = 0; i < rows; i++)
  74.     {
  75.         double tempbox = i;
  76.         matrix_b[i] = sin(tempbox - cos(tempbox));
  77.     }  
  78.     //B INITIALIZE UNLOAD
  79.  
  80.     int im = MatrixMinimum(matrix_a);
  81.  
  82.     //A1 INITIALIZE LOAD. Инициализация A1
  83.     float matrix_a1[cols];
  84.     for (int j = 0; j < cols; j++)
  85.         matrix_a1[j] = matrix_a[im][j];
  86.     //A1 INITIALIZE UNLOAD
  87.  
  88.     //A2 INITIALIZE LOAD. Инициализация А2
  89.     float matrix_a2[cols];
  90.     for (int j = 0; j < rows; j++)
  91.         matrix_a2[j] = matrix_a1[j];
  92.     //A2 INITIALIZE UNLOAD
  93.  
  94.     //CHEAT SORT LOAD. Быстрая сортировка А2
  95.     if (matrix_a2[0] > matrix_a2[2])
  96.     {
  97.         float buf;
  98.         buf = matrix_a2[2];
  99.         matrix_a2[2] = matrix_a2[0];
  100.         matrix_a2[0] = buf;
  101.     }
  102.     //CHEAT SORT UNLOAD
  103.  
  104.     //B1 INITIALIZE LOAD. Инициализация B1
  105.     float matrix_b1[rows];
  106.     for (int j = 0; j < rows; j++)
  107.         matrix_b1[j] = matrix_b[j];
  108.     //B1 INITIALIZE UNLOAD
  109.  
  110.     matrix_b1[rows] = InsertionSort(matrix_b1);
  111.  
  112.     //B OUTPUT LOAD. Вывод B
  113.     printf_s("\n");
  114.     printf_s("Matrix B\n");
  115.     printf_s("|");
  116.     for (int i = 0; i < rows; i++)
  117.         printf_s("%.1f\t", matrix_b[i]);
  118.     printf_s("|\n");
  119.     //B OUTPUT UNLOAD
  120.  
  121.     //IM OUTPUT LOAD. Вывод IM
  122.     printf_s("\n");
  123.     printf_s("IM = %3i\n", im);
  124.     //IM OUTPUT UNLOAD
  125.  
  126.     //A1 OUTPUT LOAD. Вывод A1
  127.     printf_s("\n");
  128.     printf_s("Matrix a1\n");
  129.     printf_s("|");
  130.     for (int j = 0; j < cols; j++)
  131.         printf_s("%.1f\t", matrix_a1[j]);
  132.     printf_s("|\n");
  133.     //A1 OUTPUT UNLOAD
  134.  
  135.     //A2 OUTPUT LOAD. Вывод A2
  136.     printf_s("\n");
  137.     printf_s("Matrix a2\n");
  138.     printf_s("|");
  139.     for (int j = 0; j < cols; j++)
  140.         printf_s("%.1f\t", matrix_a2[j]);
  141.     printf_s("|\n");
  142.     //A2 OUTPUT UNLOAD
  143.  
  144.     //B1 OUTPUT LOAD. Вывод B1
  145.     printf_s("\n");
  146.     printf_s("Matrix B1 EDITED\n");
  147.     printf_s("|");
  148.     for (int i = 0; i < rows; i++)
  149.         printf_s("%.1f\t", matrix_b1[i]);
  150.     printf_s("|\n");
  151.     //B1 OUTPUT UNLOAD
  152.  
  153.     _getch();
  154. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top