Esercizio

di il
39 risposte

39 Risposte - Pagina 3

  • Re: Esercizio

    santa03 ha scritto:


    Si scusa ho sbagliato di copiarti file, ma comunque non mi va
    #include <iostream>
    
    using namespace std;
    
    int NajvecniSkupniMnogokratnik(int a, int b)
    {
        int r;
        while(b != 0) //ponavlja dokler ne postane 0
        {
             r = a % b;
             a = b;
             b = r; //yamenjamo vloge med a in b
        }
        return a; //ko b=0 rezultat je a
    }
    
    int main()
    {
    	int a, b, M;
    
    	cout << "Dve celi stevili vecji od 0: ";
    	cin >> a;
    	cin >> b;
    
    	M =NajvecniSkupniMnogokratnik(a, b);
    
    	//cout << "Najvecji skupni mnogokratnik je " << M << endl;
    
    	if(b/M > 1){
    		cout << "Torej: " << a << "/" << b << " = "
    			<< a/M << "/" << b/M << endl;
    	}
    	else{
    		cout << "Torej: " << a << "/" << b << " = "
    			<< a/M << endl;
    	}
    
    	return 0;
    }
    Si adesso compila, non so cosa hai fatto tu con code::block, però questo codice mostra solamente la divisone tra i due numeri, per mostrare anche l'MCD devi stampare M, quindi cout<<M
  • Re: Esercizio

    Ok grazie mille
  • Re: Esercizio

    santa03 ha scritto:


    Ok grazie mille
    Di nulla
    la prossima volta presta più attenzione
  • Re: Esercizio

    Spero che qualcuno risponda quì, perché senno devo aprire un' altra discussione. Io dovrei fare una modifica al programma in modo che quando immettiamo a o b negativi oppure entrambi che venga scritto il risultato giusto. Tipo: -30(a)/-36(b) = 5/6 oppure -35/30 = -7/5
    
    #include "stdafx.h"
    #include <iostream>
    #include <string>
    #include <iomanip>
    #include <cmath>
    #include <array>
    #include <windows.h>
    using namespace std;
    
    int NajvecniSkupniMnogokratnik(int x,int y)
    {
    	while(x!=y){
    		if(x>y) x = x-y;
    		else y = y-x;
    
    		cout << "x = " << x;
    		cout << "\t" << "y = " << y << endl;
    	}
    	return x;			// ali y, je enako!
    }
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int a, b, M;
    
    	cout << "Dve celi stevili vecji od 0: ";
    	cin >> a >> b;
    
    	M = NajvecniSkupniMnogokratnik(a, b);
    
    	//cout << "Najvecji skupni mnogokratnik je " << M << endl;
    
    	if(b/M > 1){
    		cout << "Torej: " << a << "/" << b << " = "
    			<< a/M << "/" << b/M << endl;
    	}
    	else{
    		cout << "Torej: " << a << "/" << b << " = "
    			<< a/M << endl;
    	}
    
    	return 0;
    }
    [\code]
  • Re: Esercizio

    Non devi aprire altri thread perché già ti avevo risposto sulla questione dei negativi ...
  • Re: Esercizio

    Oregon
    Si ho capito che devo ignorare il valore negativo, ma come posso farlo diventare positivo?
  • Re: Esercizio

    Come facevi a scuola?
  • Re: Esercizio

    A scuola noi facciamo veramente poco. La maggior parte facciamo da individuali. Comunque peso di aver risolto mettendo 2 if uno se a e b sono < 0 o > 0 scrive il valore positivo e poi un altro che se a oppure b è negativo scrive un - davanti al risultato.
  • Re: Esercizio

    Non so a che scuola ti riferisci, io dicevo alla scuola media ...

    Comunque, se a è minore di zero, a uguale -a

    (per farla semplice senza funzione abs)
  • Re: Esercizio

    A ok grazie oregon
Devi accedere o registrarti per scrivere nel forum
39 risposte