Другие языки программирования и технологии
[C++] Как поменять строки местами в двумерном статистическом массиве размерами N1xN2?
Например 0 и 2, 1 и 3, 4 и 6, 5 и 7 и т. д.
#include <iostream>
#include <algorithm>
#include <iterator>
#include <utility>
using namespace std;
int main() {
const size_t n = 4;
int matrix[][n] = {
{ 3, 3, 3, 3 },
{ 2, 2, 2, 2 },
{ 1, 1, 1, 1 }
};
for (const auto &row : matrix) {
copy(begin(row), end(row), ostream_iterator<int>(cout, " "));
cout.put('\n');
}
cout.put('\n');
for (auto i = 0u; i < n; ++i) swap(matrix[0][i], matrix[2][i]);
for (const auto &row : matrix) {
copy(begin(row), end(row), ostream_iterator<int>(cout, " "));
cout.put('\n');
}
cout.put('\n');
system("pause");
}
#include <algorithm>
#include <iterator>
#include <utility>
using namespace std;
int main() {
const size_t n = 4;
int matrix[][n] = {
{ 3, 3, 3, 3 },
{ 2, 2, 2, 2 },
{ 1, 1, 1, 1 }
};
for (const auto &row : matrix) {
copy(begin(row), end(row), ostream_iterator<int>(cout, " "));
cout.put('\n');
}
cout.put('\n');
for (auto i = 0u; i < n; ++i) swap(matrix[0][i], matrix[2][i]);
for (const auto &row : matrix) {
copy(begin(row), end(row), ostream_iterator<int>(cout, " "));
cout.put('\n');
}
cout.put('\n');
system("pause");
}
Статическом. Менять местами элементы в строках попарно.
#include < iostream >
#include < cstdlib >
#include < ctime >
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
srand(time(NULL));
auto a = new int[5][4];
auto p = &a;
for (unsigned i = 0; i < 5; ++i)
{
for (unsigned u = 0; u < 4; ++u)
{
a[i][u] = rand() % 51;
cout << a[i][u] << "\t";
}
cout << endl;
}
cout << "Введите номера строк к замене ";
unsigned d1, d2;
cin >> d1 >> d2;
for (unsigned u = 0; u < 4; ++u)
{
swap(a[d1][u], a[d2][u]);
}
for (unsigned i = 0; i < 5; ++i)
{
for (unsigned u = 0; u < 4; ++u)
{
cout << a[i][u] << "\t";
}
cout << endl;
}
cin.get(); cin.get();
}
#include < cstdlib >
#include < ctime >
using namespace std;
void main()
{
setlocale(LC_ALL, "rus");
srand(time(NULL));
auto a = new int[5][4];
auto p = &a;
for (unsigned i = 0; i < 5; ++i)
{
for (unsigned u = 0; u < 4; ++u)
{
a[i][u] = rand() % 51;
cout << a[i][u] << "\t";
}
cout << endl;
}
cout << "Введите номера строк к замене ";
unsigned d1, d2;
cin >> d1 >> d2;
for (unsigned u = 0; u < 4; ++u)
{
swap(a[d1][u], a[d2][u]);
}
for (unsigned i = 0; i < 5; ++i)
{
for (unsigned u = 0; u < 4; ++u)
{
cout << a[i][u] << "\t";
}
cout << endl;
}
cin.get(); cin.get();
}
Похожие вопросы
- Дан двумерный динамический массив, надо составить программу, которая меняет местами две любые строки
- C# Дан массив размера N. Найти 2 элемента массива, сумма которых наиболее близка к максимуму массива и поменять
- Найти наибольший и наименьший элементы двумерного массива и поменять их местами . на С++ Builder. на С++ Builder
- Как на c++ реализовать прием строки произвольного размера из консоли?
- Сортировка двумерного динамического массива
- C#. Элементы одномерного массива размером 7, которые больше среднего значения элементов массива, заменить на 0.
- двумерный динамический массив в паскале
- ООП в c++. Совсем недавно познакомился с деструкторами класса и решил опробовать их на двумерном динамическом массиве.
- как отформатировать жёский диск "C" через командную строку?
- Задача по C++ Не могу придумать как одновременно записывать в массив и считать функцию.
Я прошу просто показать то, каким образом это будет происходить на примере кода, а именно: какой цикл для этого лучше всего выбрать и т. д.