Составить программу ** С++ одной программой, в которой 1) организовать ввод квадратной...

0 голосов
44 просмотров

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


Информатика (14 баллов) | 44 просмотров
Дан 1 ответ
0 голосов

#include


/* организовать ввод и вывод матрицы в виде отдельных функций. */


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);

}

(654k баллов)