Вывести две матрицы, в каждой из которых имеется по два одинаковых числа - C (СИ)
Формулировка задачи:
Доброго времени суток! даны 2 матрицы s[1..3][0..2],k[1..3][0..2] в каждой из которых имеется по два одинаковых числа. вывести их
#include <stdio.h>
#include <conio.h>
#include <math.h>
int ravn(int* d[0][0], int* z[0][0])
{
int i=3,j=3,n=0;
for (i=1; i<3; i++)
if (d[i][0]=z[i][0])
for (j=1;j<3;j++){
if (d[0][j]=z[0][j])
}
printf ("одинаковые элементы %d\n",n);
return n;
}
void main ()
{
int s[3][3]={{1,5,4},{7,9,3},{2,4,3}};
int k[3][3]={{6,0,8},{11,4,32},{15,16,3}};
int od,od1;
od=ravn(s);
od1=ravn(k);
printf ("odinakovie elementi %d \n",od);
printf ("odinakovie elementi %d \n",od);
}Решение задачи: «Вывести две матрицы, в каждой из которых имеется по два одинаковых числа»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
const int N=3;
void ravn(int *s, int *k)
{
int od=-32000, od1=-32000;
for(int i=0;i<N*N;i++)
for(int j=0;j<N*N;j++)
if(*(s+i)==*(k+j))
{
if(od == -32000)
od=*(s+i);
else
od1=*(s+i);
}
printf("%d; %d\n", od, od1);
}
int main ()
{
int s[N][N]={{1,5,4},{7,9,3},{2,4,3}};
int k[N][N]={{6,0,8},{11,4,32},{15,16,3}};
ravn(*s,*k);
system("PAUSE");
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены две матрицы s и k размером NxN (N=3).
- Функция ravn принимает два указателя на матрицы s и k.
- В функции ravn ищется пара одинаковых чисел в обеих матрицах.
- Если найденное число первое, то оно записывается в переменную od, иначе в переменную od1.
- После обхода всех чисел выводится пара чисел od и od1.
- В функции main создаются две матрицы s и k и заполняются значениями.
- Функция ravn вызывается с аргументами s и k.
- Команда system(
PAUSE) приостанавливает выполнение программы до нажатия клавиши. - Программа возвращает 0, заканчивая свою работу.