Составить программу на С++ одной программой, в которой
1) организовать ввод квадратной матрицы размера nxn из целых чисел;
2) возвести в квадрат все отрицательные элементы матрицы;
3) переставить нулевые элементы первой строки матрицы в ее начало;
4) организовать ввод и вывод матрицы в виде отдельных функций.

10 Сен 2019 в 10:41
285 +1
1
Ответы
1
include

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;

}

20 Апр 2024 в 01:58
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир