Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //Отображение массива
- void ArrayShow(int **A, int N, int M)
- {
- cout << endl << endl << "Martix: " << endl;
- for (int i = 0; i < N; i++) {
- for (int j = 0; j < M; j++)
- {
- cout << A[i][j]<<" ";
- }
- cout << endl;
- }
- cout << endl;
- }
- //Инициализация массива случайными значениями
- void ArrayInit(int **A, int N, int M)
- {
- for (int i = 0; i<N; i++)
- for (int j = 0; j<M; j++)
- A[i][j] = rand() % (100) - 50; //Случайное значение в очередную ячейку массива
- }
- void massiveCreate(int **A, int *B, int s, int k, int N, int M) {
- int t = 0;
- for (int i = 0; i < N; i++) {
- for (int j = 0; j < M; j++) {
- if ((i > s-1) || (j>k-1)) {
- B[t] = A[i][j];
- t++;
- }
- }
- }
- }
- void massiveOut(int *B, int s, int k, int N, int M) {
- cout << endl << "Massive: " << endl;;
- for (int t = 0; t < (M*N - s*k); t++) {
- cout << B[t]<<" ";
- }
- cout << endl;
- }
- int main()
- {
- int **A, **Q, *B, *R; //Для создания двумерного массива удобен указатель на указатель
- int N = 6, M = 4; //Число колонок=N, Число строк= M
- /*Создание динамического двумерного массива*/
- A = new int*[N];
- for (int i = 0; i<N; i++) A[i] = new int[M];
- Q = new int*[N];
- for (int i = 0; i < N; i++) Q[i] = new int[M];
- ArrayInit(A, N, M); //Функция создания массива A
- ArrayShow(A, N, M); //Функция обработки массива A
- ArrayInit(Q, N, M); //Функция создания массива B
- ArrayShow(Q, N, M); //Функция обработки массива B
- int s, k;
- cout << "input s and k"<<endl;
- cin >> s >> k;
- cout << endl;
- if ((s > N) && (k>M))
- {
- cout << "wrong input";
- system("pause");
- }
- B = new int[M*N - s*k];
- R = new int[M*N - s*k];
- massiveCreate(A, B, s, k, N, M);
- massiveCreate(Q, R, s, k, N, M);
- massiveOut(B, s, k, N, M);
- massiveOut(R, s, k, N, M);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement