![]()
sto eseguendo un semplicissimo programmino per scuola (-.-).. xD
lavoro su linux, con Codelite, e compilo/eseguo il programma tramite il terminare.. lo compila senza errori, mi calcola bene l'elevamento a potenza, solo che quando lo eseguo invece di darmi il MCD e il MCM mi dice "Eccezione in virgola mobile".. ><
le due funzioni dovrebbero essere corrette, al massimo devo darci un'occhiata in più.. ma vorrei sapere il perchè mi da quell'errore.. qualcuno sa come aiutarmi?![]()
Grazie mille a tutticodice:#include <stdio.h> //inserisci valori int insVal(){ int a; do{ printf("Inserisci il valore: "); scanf("%d",&a); }while(a<0); return a; } //calcola l'elevamento a potenza int calcElev(int x,int y){ int i,elev=1; for(i=0;i<y;i++){ elev=elev*x; } return elev; } //Minimo Comun Divisore int calcMinCD(int x,int y){ int MCD,i; for(i=0;i<x;i++){ if(x%i==0 && y%i==0){ MCD=i; break; } } return MCD; } //Massimo Comune Multiplo int calcMaxCM(int x,int y){ int MCM,i; if(x>=y){ if(x%y==0){ MCM=x; }else{ MCM=x*y; } } return MCM; } void main(){ int dat1,dat2,cont=1; dat1=insVal(); dat2=insVal(); printf("\nPrimo: %d",dat1); printf("\nSecondo: %d\n",dat2); printf("\nElevamento: %d\n",calcElev(dat1,dat2)); printf("\nMinimo Comun Divisore: %d\n",calcMinCD(dat1,dat2)); printf("\nMassimo Comune Multiplo: %d\n",calcMaxCM(dat1,dat2)); getchar(); }![]()

Rispondi quotando
