Salve ragazzi,sono un nuovo iscritto e avrei bisogno di una grandissima mano.
Sono alle prese con un programma un pò ostico:

Siano dati in ingresso,da file o tastiera,due numeri in base dieci interi N1 e N2.
Si elabori un algoritmo e si proggetti un programma che converta in base due i numeri in base dieci N1 e N2,si costruisca poi un numero N3 in aritmetica binaria che abbia uguali ad 1 tutte e sole le cifre corrispondenti ad almeno un 1 nel posto omologo di N1 e N2,rappresentati in aritmetica binaria.
Si strutturi il programma esclusivamente con la logica dei sottoprogrammi.

Esempi di input: N1= 275= 100010011
N2= 386= 110000010
Esempio di output: N3 = 110010011 -> 403


Ho fatto la prima parte del programma che tratta la conversione di numeri decimali in numeri binari senza errori:

Codice:

#include <iostream>
using namespace std;
int main()
{
unsigned long int dec, n=0;
bool bin[32];
cout<<"Inserisci il numero decimale: ";
cin >> dec;
do
{
bin[n++] = dec%2;
dec /= 2;
}while(dec!=0);
cout<<"Numero in binario: ";
for(int i=n-1; i>=0; i--)
cout<<bin[i];
cout<<endl;
system ("PAUSE");
return 0; //con int main() diciamo di ritornare un numero intero
}



A questo punto, dovrei prendere solamente le righe che effettuano la conversione da decimale in binario piu' quelle che visualizzano il numero in binario, e inserirle in una funzione.

A questa funzione dovrei passare il numero preso in input come argomento.

La funzione la dovrei chiamare due volte nel main passando prima il primo numero e poi il secondo.
N3 si ottiene facendo una OR binaria ...

n3 = n1 | n2;

Purtroppo non riesco a farlo.
Vi chiedo ragazzi una mano ringraziando voi tutti anticipatamente.