View Single Post
Old 26-06-2012, 17:22   #1
moto91
Junior Member
 
Iscritto dal: Jun 2012
Messaggi: 1
Problema numeri casuali con lista

Ciao a tutti, mi presento sono francesco ed ho un problema con la programmazione in C. Devo creare una lista con dei numeri casuali, di questi ne prendo le coppie e devo calcolare il massimo comune divisore e scrivere tutto su file.txt. Lo provato a fare tutto nel main ed il risultato e giusto:

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

int main(int argc, char *argv[])
{
int num1;
int num2;
int minimo;
int divisore;
int mcd;
int i;

FILE*fp;

fp=fopen("Mcd.txt","w");

if(!fp)
{
fprintf(stderr,"\nErrore apertura file\n");
system("PAUSE");
exit(1);
}
srand(time(NULL));
printf("Generazione numeri\n");

for(i=0;i<50;i++)
{
num1=1+rand()%100;
num2=1+rand()%100;


if ( num1 <= 0 || num2 <= 0 )
printf("Errore: hai inserito un numero nullo o negativo\n") ;
else
{
/* CALCOLA IL VALORE INFERIORE TRA I DUE NUMERI INSERITI*/
if ( num1 < num2 )
minimo = num1 ;
else
minimo = num2 ;
/* PER CALCOLARE IL MCD CONSIDERA TUTTI I NUMERI COMPRESI TRA 1 E "minimo".
IL MCD E’ IL MASSIMO TRA I VALORI COMPRESI TRA 1 e "minimo" CHE E’ DIVISORE
SIA DI "num1" CHE DI "num2" */
divisore=1;
mcd=1;
while ( divisore <= minimo )
{
/* VERIFICA SE IL NUMERO RAPPRESENTATO IN "divisore"
45 E’ DIVISORE, CON RESTO UGUALE A 0, SIA DI "numero1" CHE
DI "numero2" */
if ( num1%divisore == 0 && num2%divisore == 0 )
{
/* POICHE’ IL RESTO E’ UGUALE A 0, IL VALORE DI "divisore"
50 E’ UN POSSIBILE MASSIMO COMUN DIVISORE. AGGIORNA IL VALORE
DEL MASSIMO COMUM DIVISORE */
mcd = divisore ;
// printf("%d e’ divisore \n\n", mcd) ;
}
/* INCREMENTA IL VALORE DI "divisore" */
divisore = divisore + 1 ;
}
/* STAMPA IL RISULTATO */
}
printf("%d ",num1);
printf("%d\n",num2);
printf("Il massimo comun divisore per i numeri %d e %d e’ %d\n\n",
num1, num2, mcd) ;
fprintf(fp,"%d ",num1);
fprintf(fp,"%d \n",num2);
fprintf(fp,"MCD: %d \n ", mcd);
}

fclose(fp);
system("PAUSE");
return 0;
}

Il mio problema e che non so cosa scrivere per farlo nella lista. Se c'è qualcuno che possa aiutarmi. Grazie Mille
moto91 è offline   Rispondi citando il messaggio o parte di esso