Problemi con un programma in C (M.C.D. tra due numeri)

di Anonimizzato20514 il
5 risposte
Buona sera, devo risolvere un programma che trova il Massimo Comun Divisore tra due numeri forniti dall'utente.
Questo giro ho voluto rischiare creando una funzione da zero, ma senza aver successo.
Qua sotto copierò il mio programma (Code Blocks) se riuscite a trovare il problema vi ringrazio molto.



#include <stdio.h>
#include <stdlib.h>


int main()
{
int a, b, r;
printf("Inserisci un numero --> ");
scanf("%d", & a);
printf("Inserisci un altro numero --> ");
scanf("%d", & b);
if (a<b)
{
Scambiavalori (a,b);
}
r = a%b;
while (r=0)
{
printf("Questo è il MASSIMO COMUNE DIVISORE --> %d",b);
}
Scambiavalori (b,r);
return 0;
}
void Scambiavalori (int*A, int*B)
{
int temp;
temp = *A;
*A = *B;
*B = temp;
return;
}



Spero di non aver violato le regole del forum, grazie ancora.

5 Risposte

  • Comincia con il far funzionare la funzione Scambiavalori(). Richiama solo questa funzione e verifica se i valori vengono scambiati.
  • Il programma parte, dopo aver inserito i primi 2 dati si interrompe drasticamente. Ho provato a fare solo la funzione, ma ho lo stesso problema.
  • Ma questo programma che hai scritto a cosa serve precisamente?
  • Occhio a questo

    while (r=0)
  • La funzione Scambiavalori() non può funzionare. Siccome stai imparando é normale commettere questo tipo di errori: tuttavia é importante provare ogni funzione che scrivi.
Devi accedere o registrarti per scrivere nel forum
5 risposte