Найти и напечатать индексы тех элементов матрицы С, для которых cij=cji, а так же посчитать количество этих элементов - C (СИ)
Формулировка задачи:
Дано матрицу С размером nxn. Найти и напечатать индексы тех элементов матрицы С, для которых cij=cji, а так же посчитать количество этих элементов.
Решение задачи: «Найти и напечатать индексы тех элементов матрицы С, для которых cij=cji, а так же посчитать количество этих элементов»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 10 int main(void) { int A[N][N], i, j, counter = 0;; srand(time(NULL)); for (i=0; i < N; i++) { for (j=0; j < N; j++) { A[i][j] = rand() % 10; printf("%d " , A[i][j]); } printf("\n"); } printf("\nAij = Aji for elements:\n"); for (i=0; i < N; i++) for (j=0; j < N; j++) if (A[i][j] == A[j][i]) { printf("A[%d][%d] = A[%d][%d] = %d\n", i, j, j, i, A[i][j]); counter++; } printf("\nCounter: %d\n", counter); return 0; }
Объяснение кода листинга программы
- Объявление переменных:
- A[N][N] - двумерный массив размером NxN для хранения элементов;
- i, j - индексы для обхода матрицы;
- counter - счетчик для подсчета количества элементов;
- srand(time(NULL)) - инициализация генератора случайных чисел;
- N - размерность матрицы.
- Заполнение матрицы A случайными числами от 0 до 9 с помощью функции rand().
- Вывод содержимого матрицы A на экран.
- Поиск и вывод на экран индексов элементов матрицы A, для которых A[i][j] = A[j][i].
- Подсчет количества таких элементов и вывод значения переменной counter на экран.
- Возврат 0, что означает успешное завершение работы программы.