Informatică, întrebare adresată de monyk93, 9 ani în urmă

Fie o matrice de n linii şi m coloane ce conţine numere întregi. Să se realizeze un program în care, folosind subprograme, se vor determina şi se vor scrie în fişierul cmmdc.out, cel mai mare divizor comun al elementelor de pe fiecare coloană.

Răspunsuri la întrebare

Răspuns de ionutg38
0
#include <iostream>
#include <fstream>
using namespace std;
ofstream f("cmmdc.out");
const int DMax=100;
int n,m,a[DMax][DMax];

int cmmdc(int a,int b)
{
    int r;
    r=a%b;
    while(r!=0)
    {
        a=b;
        b=r;
        r=a%b;
    }
    return b;
}

int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j)
            cin>>a[i][j];
    int CMMDC;
    for(int j=1;j<=m;++j)
    {
        CMMDC=cmmdc(a[1][j],a[2][j]);
        for(int i=3;i<=n;++i)
            CMMDC=cmmdc(CMMDC,a[i][j]);
        f<<CMMDC<<' ';
    }
    return 0;
}
Alte întrebări interesante