Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include <cstring>
- using namespace std;
- int **create(int &n, int &m) {//Функция создающая и заполняющая двумерный массив **create
- cin >> n >> m;
- int **mas = new int *[n];
- for (int i = 0; i < n; i++) {
- mas[i] = new int[m];
- }
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++) {
- cin >> mas[i][j];
- }
- }
- return mas;
- }
- int **reversmas(int &n, int &m, int **a, int *b) {//функция менет местами строки вторую со средней вроде бы гы
- for (int i = (n / 2)-1; i <= (n / 2) - 1; i++) {
- for (int j = 0; j < m; j++) {
- a[i][j] = a[i + 1][j];
- }
- }
- for (int i = (n / 2); i <= (n / 2); i++) {
- for (int j = 0; j < m; j++) {
- a[i][j] = b[j];
- }
- }
- return a;
- }
- int **reversmas_1(int &n, int &m, int **a, int *b) {//Должна менять первую со средней но не меняет ибо не допилино
- for (int i =0; i <= 0; i++) {
- for (int j = 0; j < m; j++) {
- a[i][j] = a[i][j];
- }
- }
- for (int i = (n / 2) - 1; i <= (n / 2) - 1; i++) {
- for (int j = 0; j < m; j++) {
- a[i][j] = b[j];
- }
- }
- return a;
- }
- int main() {
- int n, realn, m;
- int **a = create(n, m);//Вызываем функцию для двумерного
- int *b = new int[n];
- if (n % 2 == 0) {
- for (int i = (n / 2) - 1; i <= (n / 2) - 1; i++) {
- for (int j = 0; j < m; j++) {
- b[j] = a[i][j];
- }
- a = reversmas(n, m, a, b);
- }
- }
- else {
- for (int i = 0; i <= 0; i++) {
- for (int j = 0; j < m; j++) {
- b[j] = a[i][j];
- }
- a = reversmas_1(n, m, a, b);
- }
- }
- cout << endl;
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < m; j++) {
- cout << a[i][j] << " ";
- }
- cout << endl;
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement