Generazioni frazioni casuale e semplificazione

di il
4 risposte

Generazioni frazioni casuale e semplificazione

Ciao, sono alle prese con il mio primo programma in linguaggio c e ho qualche problema...

#include<stdlib.h>
#include<stdio.h>
#include<time.h>
#include<conio.h>
int n1,d1,n2,d2,d3,num;
main()
{
      srand (time(NULL));
      getch();
      n1=rand ()%99+1;
      printf ("ho estratto il primo numeratore %d\n",n1);
      getch();
      n2=rand ()%99+1;
      printf ("ho estratto il secondo numeratore %d\n",n2);
      getch();
      d1=rand ()%99+1;
      printf ("ho estratto il primo denominatore %d\n",d1);
      getch();      
      d2=rand ()%99+1;
      printf ("ho estratto il secondo denominatore %d\n",d2);
      getch();
      d3=d2*d1;
      num=((d3/d1)*n1+(d3/d2)*n2);
      printf("il numeratore complessivo e':%d\n",num);
      printf("il denominatore complessivo e':%d\n",d3);
      getch();
in partica il prof ci ha chiesto di estrarre queste 2 frazioni (che poi in realtà sono 4 numeri a se stanti), sommarle e semplificarle...per la semplificazione ci ha chiesto di usare un ciclo...partendo dal presupposto che ho ben poca confidenza con tutta la materia, quale ciclo dovrei usare?
Certo capirei se non mi rispondesse nessuno, in fondo il compito è il mio, ma è la prima volta che mi cimento su una cosa del genere..ho ancora bisogno di una manina che mi accompagni

4 Risposte

  • Re: Generazioni frazioni casuale e semplificazione

    Sei fortunato ad aver quel prof... ottima traccia iniziale.

    Saluti,
    Max
  • Re: Generazioni frazioni casuale e semplificazione

    Ciao, puoi utilizzare il metodo delle divisioni successive per trovare MCD(a, b) e quindi il massimo divisore comune ai due numeri, per procedere poi con la semplificazione.

    Dati due numeri naturali (a, b), con a < b, allora:

    a = k1 * b + r1, con 0 <= r1 < b. Se r1 = 0, la procedura termina, altrimenti
    b = k2 * r1 + r2, con 0 <= r2 < r1. Se r2 = 0, la procedura termina, altrimenti
    r1 = k3 * r2 + r3, con 0 <= r3 < r2. Se r3 = 0, la procedura termina, altrimenti procedi allo stesso modo finché non trovi un r-iseimo pari a zero.

    In base a questo teorema, puoi creare l'algoritmo che calcola l'MCD(a, b). Prima di darti la soluzione, prova a ragionarci sopra (magari anche cercando online) e vedere cosa combini

  • Re: Generazioni frazioni casuale e semplificazione

    Grazie del suggerimento Intel, vediamo cosa riesco a fare .
    per Max...fortunata? Forse, se non venissi lasciata in balia di me stessa
  • Re: Generazioni frazioni casuale e semplificazione

    Benvenuta all'università. Ci farai l'abitudine
Devi accedere o registrarti per scrivere nel forum
4 risposte