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 ()
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.