#include <iostream>
#include <ctime>
using namespace std;
int Task920()
{
/*920. Поменять местами значения элементов Двумерного массива вещественных чисел, симметричных относительно побочной диагонали.*/
int N;
cout << "Enter a matrix size:" << endl;
cout << "N = ";
cin >> N;
int** arr = new int* [N];
for (int i = 0; i < N; i++)
{
arr[i] = new int[N];
}
cout << "Enter a matrix:" << endl;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
cin >> arr[i][j];
}
}
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N - i - 1; j++)
{
swap(arr[i][j], arr[N - j - 1][N - i - 1]);
}
}
cout << "Target matrix:" << endl;
for (int i = 0; i < N; i++)
{
for (int j = 0; j < N; j++)
{
cout << arr[i][j] << " ";
}
cout << endl;
}
for (int i = 0; i < N; i++)
{
delete[] arr[i];
}
delete[] arr;
system("pause");
return 0;
}
int Task955()
//Дан Двумерный массив. Составить программу расчета:
//а) произведения элементов второй строки массива.
//б) суммы элементов третьего столбца массива;
{
srand(time(NULL));
int arr[4][4];
for (int i = 0; i < 4; i++)
{
cout << endl << i + 1;
for (int j = 0; j < 4; j++)
{
arr[i][j] = rand() % 5 + 1;
cout << " " << arr[i][j];
}
}
int proizv = 1;
for (int i = 0; i < 4; i++) {
proizv *= arr[1][i];
}
cout << endl << "Произведение 2-ой строки =" << proizv*2<<endl;
for (int i = 0; i < 4; i++) {
cout << endl << i + 1;
for (int j = 0; j < 4; j++) {
arr[i][j] = rand() % 5 + 1;
cout << " " << arr[i][j];
}
}
int summ = 0;
for (int j = 0; j < 4; j++)
{
summ += arr[j][1];
}
cout << endl << "Сумма 3-го столбца =" << summ;
return 0;
}
int Task990()
{
int m[20][10];
cout << "vvedite massiv\n>";
for (size_t i = 0; i < 20; i++)
{
for (size_t j = 0; j < 10; j++)
{
cin >> m[i][j];
}
}
int sum = 0;
for (size_t i = 0; i < 20; i++)
{
for (size_t j = 0; j < 20; j++)
{
sum += m[i][j];
}
}
float s = sum / 200;
cout << s;
return 0;
}
void Function1060(int** Matrix, int* row, int* col) {
int m = 0;
cout << "Изначальная матрица:" << endl;
for (int i = 0; i < *row; i++) {
for (int j = 0; j < *col; j++) {
Matrix[i][j] = rand() % 10 + 1;
cout << Matrix[i][j] << " ";
}
cout << endl;
}
int k = 2;
for (int i = 0; i < *row; i++) {
for (int j = 2; j < *col >> 1; j++) {
swap<int>(Matrix[i][j], Matrix[i][*col - j + 1]);
}
}
cout << "Полученная матрица:" << endl;
for (int i = 0; i < *row; i++) {
for (int j = 0; j < *col; j++) {
cout << Matrix[i][j] << " ";
}
cout << endl;
}
//delete[]*Matrix;
delete[] Matrix;
}
int main()
{
setlocale(LC_ALL, "RUS");
Task920();
Task955();
Task990();
{
int col = 16, row = 4;
int** Matrix = new int* [row];
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
Matrix[i] = new int[j];
}
}
Function1060(Matrix, &row, &col);
}
}