Составить программу на С++ одной программой, в которой 1) организовать ввод квадратной матрицы размера nxn из целых чисел; 2) возвести в квадрат все отрицательные элементы матрицы; 3) переставить нулевые элементы первой строки матрицы в ее начало; 4) организовать ввод и вывод матрицы в виде отдельных функций.
void inputMatrix(int** matrix, int n) { std::cout << "Enter the elements of the matrix:" << std::endl; for (int i = 0; i < n; i++) { matrix[i] = new int[n]; for (int j = 0; j < n; j++) { std::cin >> matrix[i][j]; } } }
void outputMatrix(int** matrix, int n) { std::cout << "Matrix:" << std::endl; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { std::cout << matrix[i][j] << " "; } std::cout << std::endl; } }
void squareNegativeElements(int* matrix, int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (matrix[i][j] < 0) { matrix[i][j] = matrix[i][j]; } } } }
void moveZeroElements(int** matrix, int n) { int zeroCount = 0; for (int j = 0; j < n; j++) { if (matrix[0][j] == 0) { zeroCount++; } } int index = 0; for (int j = 0; j < n; j++) { if (matrix[0][j] != 0) { matrix[0][index] = matrix[0][j]; index++; } } for (int j = 0; j < zeroCount; j++) { matrix[0][index + j] = 0; } }
int main() { int n; std::cout << "Enter the size of the square matrix: "; std::cin >> n;
int** matrix = new int*[n]; inputMatrix(matrix, n); squareNegativeElements(matrix, n); moveZeroElements(matrix, n); outputMatrix(matrix, n); for (int i = 0; i < n; i++) { delete[] matrix[i]; } delete[] matrix; return 0;
void inputMatrix(int** matrix, int n) {
std::cout << "Enter the elements of the matrix:" << std::endl;
for (int i = 0; i < n; i++) {
matrix[i] = new int[n];
for (int j = 0; j < n; j++) {
std::cin >> matrix[i][j];
}
}
}
void outputMatrix(int** matrix, int n) {
std::cout << "Matrix:" << std::endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
}
void squareNegativeElements(int* matrix, int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (matrix[i][j] < 0) {
matrix[i][j] = matrix[i][j];
}
}
}
}
void moveZeroElements(int** matrix, int n) {
int zeroCount = 0;
for (int j = 0; j < n; j++) {
if (matrix[0][j] == 0) {
zeroCount++;
}
}
int index = 0;
for (int j = 0; j < n; j++) {
if (matrix[0][j] != 0) {
matrix[0][index] = matrix[0][j];
index++;
}
}
for (int j = 0; j < zeroCount; j++) {
matrix[0][index + j] = 0;
}
}
int main() {
int** matrix = new int*[n];int n;
std::cout << "Enter the size of the square matrix: ";
std::cin >> n;
inputMatrix(matrix, n);
squareNegativeElements(matrix, n);
moveZeroElements(matrix, n);
outputMatrix(matrix, n);
for (int i = 0; i < n; i++) {
delete[] matrix[i];
}
delete[] matrix;
return 0;
}