Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- int M, // Кол-во строк
- N; // ... столбцов
- int *pA, // Указатель на первый элемент матрицы "A"
- *pB; // Указатель на первый элемент матрицы "B"
- void initMatrix();
- void Show_Mtrx(int *p);
- int checkMatrx(); // Вернёт кол-во совпадающих по индексам и по значению элементов.
- //////////////////////////////////////////////////////////////
- int main() //
- {
- setlocale(LC_ALL, "RUS");
- printf("Введите размер матрицы M строк и N столбцов: "); scanf("%d%d", &M, &N); printf("\n");
- //M = 3; N = 5;
- int nSize = N * M * sizeof(int); // Размер каждой матрицы в байтах
- pA = (int*)malloc(nSize);
- pB = (int*)malloc(nSize);
- initMatrix(); // Проинициализируем обе матрицы A и B
- printf("\t\t\tВид матрицы A:\n"); Show_Mtrx(pA);
- printf("\t\t\tВид матрицы B:\n"); Show_Mtrx(pB);
- printf("Совпадения найдены в следующих элементах:\n");
- printf("Количество совпадений = %3d\n", checkMatrx() );
- free(pA);
- free(pB);
- }
- //////////////////////////////////////////////////////////////
- int checkMatrx() //
- {
- int nCounter = 0;
- for(int i = 0; i < M; i++) // строки
- {
- for(int j = 0; j < N; j++)
- {
- if( pA[i*N+j] == pB[i*N+j])
- {
- nCounter ++;
- printf("A[%2d][%2d] = B[%2d][%2d] = %3d\n", i, j, i, j, pA[i*N+j] );
- }
- }
- }
- printf("- - - - - - - - - - - - - -\n");
- return nCounter;
- }
- //////////////////////////////////////////////////////////////
- void initMatrix() //
- {
- int n = 1;
- for(int i = 0; i < M; i++)
- {
- for(int j = 0; j < N; j++)
- {
- pA[i*N + j] = n++;
- }
- }
- n = 1;
- for(int i = 0; i < N; i++)
- {
- for(int j = 0; j < M; j++)
- {
- pB[j*N + i] = n++;
- }
- }
- }
- //////////////////////////////////////////////////////////////
- void Show_Mtrx(int *p) //
- {
- for(int i = 0; i < M; i++) // строки
- {
- for(int j = 0; j < N; j++)
- {
- printf("%3d", p[i*N + j]);
- } printf("\n");
- } printf("\n"); // printf("\t\t\t\t- - - - - -\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement