Составить программу на с++ одной программой, в которой 1) организовать ввод квадратной матрицы размера nxn из целых чисел; 2) возвести в квадрат все отрицательные элементы матрицы; 3) переставить нулевые элементы первой строки матрицы в ее начало; 4) организовать ввод и вывод матрицы в виде отдельных функций.
#include <stdio.h>
/* организовать ввод и вывод матрицы в виде отдельных функций. */
void scanMatrix(unsigned n, int matrix[n][n])
{
printf("Enter matrix elements, separated by spaces:\n");
for (unsigned i = 0; i < n; i++)
{
for (unsigned j = 0; j < n; j++)
{
scanf("%d", &matrix[i][j]);
}
}
}
void printMatrix(unsigned n, int matrix[n][n])
{
printf("These are matrix elements:\n");
for (unsigned i = 0; i < n; i++)
{
for (unsigned j = 0; j < n; j++)
{
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main()
{
unsigned n;
/* организовать ввод квадратной матрицы размера nxn из целых чисел; */
printf("Enter matrix dimension: ");
scanf("%u", &n);
int matrix[n][n];
scanMatrix(n, matrix);
/* возвести в квадрат все отрицательные элементы матрицы; */
for (unsigned i = 0; i < n; i++)
{
for (unsigned j = 0; j < n; j++)
{
if (matrix[i][j] < 0)
{
matrix[i][j] *= matrix[i][j];
}
}
}
/* переставить нулевые элементы первой строки матрицы в ее начало; */
unsigned lastReplacableIndex = 0;
for (unsigned i = 1; i < n; i++)
{
if (matrix[0][i] == 0)
{
int temp = matrix[0][lastReplacableIndex];
matrix[0][lastReplacableIndex] = matrix[0][i];
matrix[0][i] = temp;
lastReplacableIndex++;
}
}
printMatrix(n, matrix);
}