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

C++:
Se citeşte de la tastatură un şir de n numere naturale. Scrieţi un program care determină şi afişează fracţia subunitară ireductibilă care se poate forma din numărul minim şi numărul maxim din şir.
Exemplu. Pentru n = 4 şi numerele 3, 2, 5, 8, se afişează: 1/4

Cum fac partea cu fractia ireductibila ?
As dori sa imi aratati DOAR algoritmul pentru aducerea unei fractii reductibile intr-o forma de fractie ireductibila, astfel incat sa pot folosi algoritmul in orice problema.

Răspunsuri la întrebare

Răspuns de Mister7
3
#include <iostream>
using namespace std;
int main()
{
    int n, min, max, i;
    cout << "n="; cin >> n;
    int a[n+1];
    for(i=1;i<=n;i++)
    {
        cout << "a[" << i << "]=";
        cin >> a[i];
    }
    min=a[1];
    for(i=2;i<=n;i++)
    {
        if(a[i]<min) min=a[i];
    }
    max=a[1];
    for(i=2;i<=n;i++)
    {
        if(a[i]>max) max=a[i];
    }
    for(i=2;i<=min;i++)
    {
        if((min%i==0) && (max%i==0)) //aici
        {
            min=min/i;
            max=max/i;
        }
    }
    cout << min << "/" << max;
    return 0;
}

sanziana009: Multumesc mult de tot !
Mister7: Cu placere!
Mister7: Am modificat raspunsul, la copiere am uitat niste paranteze la un rand, am pus //aici ca sa vezi unde
sanziana009: Mi-am dat eu seama, nu e bai, merci fain
sanziana009: for(i=2;i<=min;i++)
{
if((min%i==0) && (max%i==0))
{
min=min/i;
max=max/i;
}
} Dupa modelul asta de secventa, pot folosi in orice problema pt a aduce o fractie in forma ei ireductibila, nu ?
Alte întrebări interesante