Циклы. Инициализация массива размерности n случайными целыми положительными значениями от 0 до 32767, страница 11

Sum=0;

for (i=0; i<n; i++) //вычисление среднего значения элементов главной диагонали

Sum +=A[i][n-1-i];

Sum /=n;

printf (" %5.2lf\n", Sum);

return 0;

}

Пример 4: подсчитаем количество нулевых  элементов верхнего треугольника над главной диагональю квадратной матрицы,  включая и саму диагональ:

#include <stdio.h>

#include <stdlib.h>

const int n = 5;

main ()

{static int A[n][n];

int i, j, K0=0;

for (i=0; i<n; i++)                   //заполнение и вывод матрицы

for(j=0; j<n; j++)

{A[i][j] = rand() % 3;

printf ("%2d%c", A[i][j], (j==n-1)?'\n':' ');

}

for (i=0; i<n; i++)  //подсчет количества нулевых элементов

for (j=i; j<n; j++)

if (A[i][j] ==0)   K0++;

printf (" %5d\n", K0);                                                 

return 0;

}

Пример 5: подсчитаем количество нулевых  элементов нижнего треугольника относительно побочной диагонали квадратной матрицы,  не включая саму диагональ:

#include <stdio.h>

#include <stdlib.h>

const int n = 5;

main ()

{static int A[n][n];

int i, j, K0=0;

for (i=0; i<n; i++)                   //заполнение и вывод матрицы

for(j=0; j<n; j++)

{A[i][j] = rand() % 3;

printf ("%2d%c", A[i][j], (j==n-1)?'\n':' ');

}

for (i=0; i<n; i++)           //подсчет количества нулевых элементов

for (j=n-i; j<n; j++)     //не включая саму диагональ

if (A[i][j] ==0)   K0++;

printf (" %5d\n", K0);                                                 

return 0;

}

Пример 6: перестановка двух строк матрицы

#include <stdio.h>

#include <stdlib.h>

const int n = 5;

const int m = 6;

main ()

{static int A[n][m];

int i, j, R, n1=2, n2=3;

for (i=0; i<n; i++)                   //заполнение и вывод матрицы до перестановки строк

for(j=0; j<m; j++)

{A[i][j] = rand() % 6;

printf ("%2d%c", A[i][j], (j==m-1)?'\n':' ');

}

printf ("\n\n");

for (j=0; j<m; j++)                 //перестановка строк матрицы

{R=A[n1][j]; 

                        A[n1][j] = A[n2][j];

                        A[n2][j] =R; 

}

for (i=0; i<n; i++)                   //вывод матрицы после перестановки строк

for(j=0; j<m; j++)

printf ("%2d%c", A[i][j], (j==m-1)?'\n':' ');

return 0;

}

Пример 7: перестановка двух столбцов матрицы

#include <stdio.h>

#include <stdlib.h>

const int n = 5;

const int m = 6;

main ()

{static int A[n][m];

int i, j, R, m1=2, m2=3;

for (i=0; i<n; i++)                   //заполнение и вывод матрицы до перестановки столбцов

for(j=0; j<m; j++)

{A[i][j] = rand() % 6;

printf ("%2d%c", A[i][j], (j==m-1)?'\n':' ');

}

printf ("\n\n");

for (i=0; i<n; i++)

            {R=A[i][m1]; 

A[i][m1]= A[i][m2];                                   

A[i][m2]=R;

}

for (i=0; i<n; i++)                   //вывод матрицы после перестановки столбцов

for(j=0; j<m; j++)

printf ("%2d%c", A[i][j], (j==m-1)?'\n':' ');

return 0;

}

Пример 8: удаление k-ой строки матрицы

#include <stdio.h>

#include <stdlib.h>

const int n = 5;

const int m = 6;

main ()

{static int A[n][m];

int i, j, k=3;

for (i=0; i<n; i++)                   //заполнение и вывод матрицы до удаления строки

for(j=0; j<m; j++)

{A[i][j] = rand() % 6;

printf ("%2d%c", A[i][j], (j==m-1)?'\n':' ');

}

printf ("\n\n");

for (i=k;i<n-1; i++)

for (j=0; j<m; j++)

A[i][j] =A[i+1][j];

for (i=0; i<n-1; i++)                   //вывод матрицы после удаления строки

for(j=0; j<m; j++)

printf ("%2d%c", A[i][j], (j==m-1)?'\n':' ');

return 0;

}

Пример 9: вставка новой строки после k-ой строки матрицы

#include <stdio.h>

#include <stdlib.h>

const int n = 5;

const int m = 6;

main ()