Advertisement
Guest User

Arina

a guest
Jun 28th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1.  
  2. #include <iostream>
  3.  
  4.  
  5. using namespace std;
  6.  
  7. //Отображение массива
  8. void ArrayShow(int **A, int N, int M)
  9. {
  10.     cout << endl << endl << "Martix: " << endl;
  11.     for (int i = 0; i < N; i++) {
  12.         for (int j = 0; j < M; j++)
  13.         {
  14.             cout << A[i][j]<<"  ";
  15.         }
  16.         cout << endl;
  17.     }
  18.     cout << endl;
  19. }
  20.  
  21. //Инициализация массива случайными значениями
  22. void ArrayInit(int **A, int N, int M)
  23. {
  24.     for (int i = 0; i<N; i++)
  25.         for (int j = 0; j<M; j++)
  26.             A[i][j] = rand() % (100) - 50;   //Случайное значение в очередную ячейку массива
  27. }
  28.  
  29. void massiveCreate(int **A, int *B, int s, int k, int N, int M) {
  30.     int t = 0;
  31.     for (int i = 0; i < N; i++) {
  32.         for (int j = 0; j < M; j++) {
  33.             if ((i > s-1) || (j>k-1)) {
  34.             B[t] = A[i][j];
  35.             t++;
  36.         }
  37.         }
  38.     }
  39. }
  40.  
  41. void massiveOut(int *B, int s, int k, int N, int M) {
  42.     cout << endl << "Massive: " << endl;;
  43.     for (int t = 0; t < (M*N - s*k); t++) {
  44.         cout << B[t]<<"   ";
  45.     }
  46.     cout << endl;
  47. }
  48.  
  49. int main()
  50. {
  51.     int **A, **Q, *B, *R; //Для создания двумерного массива удобен указатель на указатель
  52.     int N = 6, M = 4; //Число колонок=N, Число строк= M
  53.                       /*Создание динамического двумерного массива*/
  54.     A = new int*[N];
  55.     for (int i = 0; i<N; i++) A[i] = new int[M];
  56.     Q = new int*[N];
  57.     for (int i = 0; i < N; i++) Q[i] = new int[M];
  58.  
  59.     ArrayInit(A, N, M); //Функция создания массива A
  60.     ArrayShow(A, N, M); //Функция обработки массива  A
  61.     ArrayInit(Q, N, M); //Функция создания массива B
  62.     ArrayShow(Q, N, M); //Функция обработки массива  B
  63.     int s, k;
  64.     cout << "input s and k"<<endl;
  65.     cin >> s >> k;
  66.     cout << endl;
  67.     if ((s > N) && (k>M))
  68.     {
  69.         cout << "wrong input";
  70.         system("pause");
  71.     }
  72.     B = new int[M*N - s*k];
  73.     R = new int[M*N - s*k];
  74.     massiveCreate(A, B, s, k, N, M);
  75.     massiveCreate(Q, R, s, k, N, M);
  76.     massiveOut(B, s, k, N, M);
  77.     massiveOut(R, s, k, N, M);
  78.     system("pause");
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement