C/C++
C++Дана целочисленная матрица размера mn. Найти матрицу, получающуюся перестановкой столбцов
Дана целочисленная матрица размера mn. Найти матрицу, получающуюся перестановкой столбцов (первого с последним, второго с предпоследним и т.д.).
как организовать? вектор vector int или динамика new?
#include <iostream>
using namespace std;
int main() {
int matrix[3][5] = {
{12,47,15,63,98},
{25,74,10,85,37},
{55,60,27,19,43}
};
for (auto& row : matrix) {
for (auto x : row) cout << x << ' ';
puts("");
}
puts("");
for (auto i = 0U; i < size(matrix); ++i) {
for (auto j = 0U, k = size(matrix[0]) - 1; j < k; ++j, --k) {
swap(matrix[i][j], matrix[i][k]);
}
}
for (auto& row : matrix) {
for (auto x : row) cout << x << ' ';
puts("");
}
system("pause > nul");
}
using namespace std;
int main() {
int matrix[3][5] = {
{12,47,15,63,98},
{25,74,10,85,37},
{55,60,27,19,43}
};
for (auto& row : matrix) {
for (auto x : row) cout << x << ' ';
puts("");
}
puts("");
for (auto i = 0U; i < size(matrix); ++i) {
for (auto j = 0U, k = size(matrix[0]) - 1; j < k; ++j, --k) {
swap(matrix[i][j], matrix[i][k]);
}
}
for (auto& row : matrix) {
for (auto x : row) cout << x << ' ';
puts("");
}
system("pause > nul");
}
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<unistd.h>
#define m 3
#define n 4
#define N 10
int main()
{
int **arr;//указатель на двумерный массив
//создаём динамически место для
//строк массива в ОЗУ (в куче):
arr=(int**)malloc(m*sizeof(int*));
if(!arr) exit(1);//если не ошибка, то выход
//создаём динамически место для
//столбцов массива в ОЗУ (в куче):
for(int i = 0; i < m; i++)
{
arr[i]=(int*)malloc(n*sizeof(int));
if(!arr[i]) exit(1);//если ошибка, то выход
}
srand(time(NULL));//задать генератор
printf("Start array:\n");
//генерация значений
//элементов массива:
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
arr[i][j]=rand()%(N+1);
printf(" [%d][%d]=%d",i,j,arr[i][j]);
}
printf("\n");
}
//перестановка столбцов массива:
for(int i = 0; i < m; i++)
for(int j = 0; j < n/2; j++)
{
int temp=arr[i][j];
arr[i][j]=arr[i][n-j-1];
arr[i][n-j-1]=temp;
}
//вывод результатов перестановки:
printf("\nResult array:\n");
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
printf(" [%d][%d]=%d",i,j,arr[i][j]);
}
printf("\n");
}
//освобождаем ОЗУ от строк массива:
for(int i = 0; i < m; i++)
free(arr[i]);
//освобождаем ОЗУ от столбцов массива:
free(arr);
//сброс буфера вывода для паузы:
fflush(stdout);
//пауза:
sleep(5);
return 0;
}

#include<stdlib.h>
#include<time.h>
#include<unistd.h>
#define m 3
#define n 4
#define N 10
int main()
{
int **arr;//указатель на двумерный массив
//создаём динамически место для
//строк массива в ОЗУ (в куче):
arr=(int**)malloc(m*sizeof(int*));
if(!arr) exit(1);//если не ошибка, то выход
//создаём динамически место для
//столбцов массива в ОЗУ (в куче):
for(int i = 0; i < m; i++)
{
arr[i]=(int*)malloc(n*sizeof(int));
if(!arr[i]) exit(1);//если ошибка, то выход
}
srand(time(NULL));//задать генератор
printf("Start array:\n");
//генерация значений
//элементов массива:
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
arr[i][j]=rand()%(N+1);
printf(" [%d][%d]=%d",i,j,arr[i][j]);
}
printf("\n");
}
//перестановка столбцов массива:
for(int i = 0; i < m; i++)
for(int j = 0; j < n/2; j++)
{
int temp=arr[i][j];
arr[i][j]=arr[i][n-j-1];
arr[i][n-j-1]=temp;
}
//вывод результатов перестановки:
printf("\nResult array:\n");
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
printf(" [%d][%d]=%d",i,j,arr[i][j]);
}
printf("\n");
}
//освобождаем ОЗУ от строк массива:
for(int i = 0; i < m; i++)
free(arr[i]);
//освобождаем ОЗУ от столбцов массива:
free(arr);
//сброс буфера вывода для паузы:
fflush(stdout);
//пауза:
sleep(5);
return 0;
}

for(i=0;i<SIZE;i++)
{
for(j=0;j<SIZE/2;j++)
{
temp = arr[i][j];
arr[i][j]= arr[i][SIZE-j-1];
arr[i][SIZE-j-1]=temp;
}
}
{
for(j=0;j<SIZE/2;j++)
{
temp = arr[i][j];
arr[i][j]= arr[i][SIZE-j-1];
arr[i][SIZE-j-1]=temp;
}
}
Похожие вопросы
- Помогите написать литсинг на C++ Дана целочисленная квадратная матрица. Определить: ↓↓↓
- Преобразовать матрицу A(m,n) таким образом чтобы каждый столбец был упорядочен по возрастанию
- Решите пожалуйста !!! Дана действительная матрица размером n x m.
- Сформировать матрицу B(M, N) элементами которой являются случайные числа, равномерно распределенные в интервале (-5, 7
- Даны две матрицы разного размера.
- В файле дана двухмерная матрица, сформировать одномерный массив длинной N из чётных элементов квадратной матрицы
- C++ для начинающих, матрица.
- Отразить двумерный массив с размером m x n относительно побочной диагонали
- Задан целочисленный массив размера N. Определить число элементов в массиве кратных 2.
- Дан целочисленный массив с количеством элементов п. Сжать массив, выбросив из него каждый второй элемент.
динамики достаточно