|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
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 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:10.



















