Практика 3 задание 4
Mon Oct 07 2024 09:33:33 GMT+0000 (Coordinated Universal Time)
Saved by
@Yakostoch
#include <iostream>
using namespace std;
int main()
{
int n;
int m;
std::cout << "Enter desired max of the array: " << endl;
cin >> n;
cin >> m;
int* arr = new int [n * m]; // создание размерности матрицы из данных с клавиатуры
for (int i = 0; i < n * m; ++i) {
cin >> arr[i];
}
for (int i = 0; i < n * m; i++) {
for (int j = 0; j < n * m - 1; j++) {
if (arr[j] > arr[j + 1]) {
arr[j] += arr[j + 1];
arr[j + 1] = arr[j] - arr[j + 1];
arr[j] = arr[j] - arr[j + 1];
}
}
}
int matrix[20][20];
bool b_matrix[20][20];
for (int i = 0; i < 20; ++i)
for (int j = 0; j < 20; ++j)
b_matrix[i][j] = false;
int speed_x = 1;
int speed_y = 0;
int x = 0, y = 0;
int turn_counter = 0;
}
for (int i = 0; i < n * m; ++i) {
matrix[x][y] = arr[i];
b_matrix[x][y] = true;
if (b_matrix[x + speed_x][y + speed_y] or (0 > speed_x + x or speed_x + x > n - 1) or (0 > speed_y + y or speed_y + y > m - 1)) {
turn_counter += 1;
switch (turn_counter % 4)
{
case 1:
{
speed_x = 0;
speed_y = 1;
break;
}
case 2:
{
speed_x = -1;
speed_y = 0;
break;
}
case 3:
{
speed_x = 0;
speed_y = -1;
break;
}
case 0:
{
speed_x = 1;
speed_y = 0;
break;
}
default:
break;
}
}
x += speed_x;
y += speed_y;
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
cout << matrix[j][i] << " ";
}
cout << endl;
}
return 0;
content_copyCOPY
Comments