Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jak napisać program który skraca ułamki

Ostatnio zmodyfikowano 2014-01-05 19:08
Autor Wiadomość
ppp47676
Temat założony przez niniejszego użytkownika
Jak napisać program który skraca ułamki
» 2014-01-05 17:42:28
NWD obliczyłem ale nie wiem jak ułamek podzielic przez to NWD.



C/C++
#include <cstdlib>
#include <iostream>

using namespace std;

int main( int argc, char * argv[] )
{ //Program skracający ułamki zwykłe
   
    int a, b;
    int mianownik = b;
    int licznik = a;
    cout << "Podaj licznik: " << endl;
    cin >> a;
    cout << "Podaj mianownik: " << endl;
    cin >> b;
    if( a != b )
    if( a > b ) { { cout << "NWD= ";
            while( a > b ) {
                a = a - b;
            } }
        cout << a << endl;
    } else {
        cout << "NWD= ";
        while( b > a ) {
            b = b - a; }
        cout << b << endl; }
    licznik = licznik / a;
    mianownik = mianownik / a;
    cout << licznik << "/" << mianownik << endl;
   
   
    system( "PAUSE" );
    return EXIT_SUCCESS;
}
P-101263
colorgreen19
» 2014-01-05 17:47:27
Musisz zapisac to NWD do nowej zmiennej i podzielic mianownik i licznik przez ta zmienna.
P-101265
ppp47676
Temat założony przez niniejszego użytkownika
» 2014-01-05 17:53:16
czyli?
P-101266
colorgreen19
» 2014-01-05 18:10:04
sory, problem polegal na tym ze ty przypisywales wartosc a i b mianownikowi i licznikowi zanim nadales te wartosc zmiennej a i b.
Po prostu musisz przesunac linijki 'int mianownik = a' i 'int mianownik = b' po linie 'cin>>b'


Tu masz kod nieco uproszczony i na pewno dzialajacy:
C/C++
#include <cstdlib>
#include <iostream>

using namespace std;

int main( int argc, char * argv[] )
{ //Program skracający ułamki zwykłe
   
    int a, b;
    cout << "Podaj licznik: " << endl;
    cin >> a;
    cout << "Podaj mianownik: " << endl;
    cin >> b;
    int mianownik = b;
    int licznik = a;
   
    if( a != b ) {
       
        do {
            if( a > b ) {
                a = a - b;
            }
            if( a < b ) {
                b = b - a;
            };
        }
        while( a != b );
       
    }
    cout << "NWD = " << a << endl;
   
    licznik = licznik / a;
    mianownik = mianownik / a;
    cout << licznik << "/" << mianownik << endl;
   
   
    system( "PAUSE" );
    return EXIT_SUCCESS;
}
P-101269
ppp47676
Temat założony przez niniejszego użytkownika
» 2014-01-05 18:12:41
dzięki wielkie :)
P-101271
ppp47676
Temat założony przez niniejszego użytkownika
» 2014-01-05 18:19:08
a dlaczego jest
licznik = licznik / a;
mianownik = mianownik / a;

chodzi o to dlaczego dzieli sie licznik i mianownik przez a
P-101272
pekfos
» 2014-01-05 19:08:54
Bo w a masz NWD.
P-101284
« 1 »
  Strona 1 z 1