Il primo si tratta della realizzazione di un programma che dati 2 numeri mi dia il massimo comun divisore e il massimo comune multiplo.
/*Mcd e mcm di un numero*/
#include <iostream>
int num1,num2,mcm,mcd;
using namespace std;
int main ()
{
cout<<"Inserisci due numeri: "<<endl;
cin>>num1>>num2;
while (num1!=num2)
{
if (num1>num2)
num1=num1-num2;
else
num2=num2-num1;
}
cout<<"Il massimo comun divisore e': "<<num2<<endl;
mcd=num2;
int mcd (num2);
mcm= (num1*num2) /mcd;
cout<<"Il minimo comune multiplo e' "<<mcm<<endl;
return 0;
}
Il MCD viene fuori giusto l'unico problema è per l''mcm dato che avevo intenzione di calcolarlo con il teorema di euclide ovvero num1*num2/mcd, il problema è che alla fine del ciclo num1 e num2 hanno cambiato valore perchè ho ottenuto l'mcd, dunque come faccio a riprendere il valore iniziale del num1 e num2?
Per quanto riguarda il secondo si tratta di simulare una specie di battaglia navale per la quale ho due coordinate x, y che generano dei valori casuali da 1 e 20 (che sarebbero le caselle) poi inserite le coordinate x1, y1 c'è un controllo che confronta le coordinate inserite con quelle generate e stampa: "colpito se i valori coincidono o "acqua" se non.
#include <iostream>
using namespace std;
int x1= rand ()%20+1,y1= rand ()%20+1,x,y;
int main ()
{
srand((1));
cout<<"Inserire coordinata X"<<endl;
cin>>x;
cout<<"Inserire coordinata Y"<<endl;
cin>>y;
while (x==x1 && y==y1)
{
if (x==x1 && y==y1)
cout<<"Caccia torpediniere colpito";
else
cout<<"Acqua";}
cout<<x1;
cout<<y1;
return 0;
}
Il problema è che mi genera sempre gli stessi numeri, mi hanno detto di inserire la funzione srand (seme) ma non ho idea di dove si deve mettere perchè sono agli inizi. Un'altro problema è che una volta inserite le coordinate vorrei che il tutto si ripetesse.
Grazie per l'aiuto!!!!