Как удалять, добавлять, менять местами элементы матрицы


В этой статье я расскажу про то, как удалять элементы с матрицы, добавлять в матрицу, а также менять местами элементы матрицы. В С++ мы используем векторы, чтобы изменить содержимое двумерной матрицы.

Удаление элементов матрицы посредством erase()

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<vector <int> > a;
    for(int i = 0; i < n; ++i){
        vector<int> t(n);
        for(int j = 0; j < n; ++j){
            cin >> t[j]; // вводим элементы матрицы
        }
        a.push_back(t);
    }
    // a.at(2).erase(a.at(2).begin() + 4);  // удаляет 4-ый элемент 2-ой строки, если конечно этот элемент существует.
    // a.at(3).erase(a.at(3).begin() + 2);  // удаляет 2-ый элемент 3-ой строки, если конечно этот элемент существует.

    // удаляем первые элементы в каждой строке матрицы
    for(int i = 0; i < a.size(); ++i)
        a.at(i).erase(a.at(i).begin());


    // выодим матрицу
    for(auto i: a){
        for(int j: i)
            cout << j << " ";
        cout << endl;
    }
    return 0;
}


Меняем местами элементы матрицы с помощью swap()

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<vector <int> > a;
    for(int i = 0; i < n; ++i){
        vector<int> t(n);
        for(int j = 0; j < n; ++j){
            cin >> t[j]; // вводим элементы матрицы
        }
        a.push_back(t);
    }
    // меняем местами 2-ую и 3-ую строку
    swap(a.at(1), a.at(2));
    
    // выодим матрицу после 1-ого swap-a
    
    for(int i = 0; i < a.size(); ++i){
        for(int j = 0; j < a.at(i).size();l ++j)
            cout << a[i][j] << " ";
        cout << endl;
    }
    
    // меняем местами 2-ой элемент 1-строки и 2-ой элемент 2-строки, если эти элементы существуют.
    swap(a.at(0).at(1), a.at(1).at(1));

    // выодим матрицу после 2-ого swap-a
    for(auto i: a){
        for(int j: i)
            cout << j << " ";
        cout << endl;
    }
    return 0;
}



Чтобы написать комментарии вам нужно войти в систему или зарегистрируйтесь

Комментарии