Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Addizione e sottrazione numeri binari
Forum - C/C++ - Addizione e sottrazione numeri binari - Pagina 3

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
Lawliet (Normal User)
Expert


Messaggi: 386
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 19:10
Sabato, 30/01/2010
Testo quotato

Postato originariamente da giuseppe90:
ok....sicuramente ci sarà qualche buon'anima ke mi aiuterà ancora!!!


Ti sbagli, se per aiutarti intendi dare codice pronto.. allora ti sbagli.
La politica del forum è aiutare. Qui non è dare codice pronto, come puoi capire dalla firma che ho (e guarda caso chi l'ha scritta :rofl:, vabbè non andiamo OT)
Intanto ascolta ciò che ha detto nessuno e posta gli errori che appaiono.

EDIT: mi hai anticipato.

Codice sorgente - presumibilmente Plain Text

  1. cout <<  cin >> cifraA >> cifraB;


Non puoi fare così.
separa in:
Codice sorgente - presumibilmente Plain Text

  1. cin >> cifraA;
  2. cin >> cifraB;


Sai a cosa servono cout e cin!?


Codice sorgente - presumibilmente Plain Text

  1. cifraA=a;
  2. cifraB=b;


Cosa vuoi fare!? cifraA e cifraB sono interi e a e b sono stringhe due cose diverse!

Ultima modifica effettuata da Lawliet il 30/01/2010 alle 19:22
PM
Avatar
giuseppe90 (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/01/2010

Segnala al moderatore
Postato alle 19:46
Sabato, 30/01/2010
questo è il programma ke si compila correttamente ma non funziona...

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <cmath>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     string a("00001000");
  10.         string b("00001101");
  11.         string risultato("00000000");
  12.         int cifraA, cifraB, somma;
  13.         int riporto=0;
  14.        
  15.  
  16.          cout << endl << " inserisci cifraA" << endl;
  17.      cout << endl << " inserisci cifraB" << endl;
  18.          cin >> a >> b;
  19.         int i;
  20.         for (i=7; i >= 0; i--);
  21.         {
  22.                 cifraA=(int)a[i] - 48;
  23.                 cifraB=(int)b[i] - 48;
  24.          somma =cifraA + cifraB + riporto;
  25.          switch(somma)
  26.          {
  27.                  case 0:
  28.                    risultato[i] = '0';
  29.                            riporto = 0;
  30.                            break;
  31.                  case 1:
  32.                            risultato[i] = '1';
  33.                            riporto = 0;
  34.                            break;
  35.                  case 2:
  36.                            risultato[i] = '0';
  37.                            riporto = 1;
  38.                            break;
  39.                  case 3:
  40.                            risultato[i] = '1';
  41.                            riporto = 1;
  42.                            break;
  43.          }
  44.             cout << "\n" << " Risultato: " << risultato <<"\n";
  45.  
  46. }
  47. }


Ultima modifica effettuata da HeDo il 01/02/2010 alle 22:25
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:34
Sabato, 30/01/2010
Se non usi i tag CODE il codice NON SI CAPISCE !

Nel codice c'è scritto

[ i ]

e senza gli spazi il codice scompare e viene visualizzato in corsivo ... e NON SI CAPISCE ...

Li vuoi inserire 'sti tag ?

Oppure ... posta il codice scrivendo

[ i ]

dove serve, CON GLI SPAZI


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM
Avatar
giuseppe90 (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/01/2010

Segnala al moderatore
Postato alle 9:26
Domenica, 31/01/2010
nn so come funzionano questi tag ma ecco il programma funzionante...ringrazio TheKaneB e manvb.net per il loro prezioso apporto...grazie ragazzi!!!

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <cmath>
  3. #include <string>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     string a("00001000");
  10.         string b("00001101");
  11.         string risultato("00000000");
  12.         int cifraA, cifraB, somma;
  13.         int riporto=0;
  14.        
  15.  
  16.          cout << endl << " inserisci cifraA" << endl;
  17.      cout << endl << " inserisci cifraB" << endl;
  18.          cin >> a >> b;
  19.         int i;
  20.         for (i=7; i >= 0; i--)
  21.         {
  22.                 cifraA=(int)a[i] - 48;
  23.                 cifraB=(int)b[i] - 48;
  24.          somma =cifraA + cifraB + riporto;
  25.          switch(somma)
  26.          {
  27.                  case 0:
  28.                    risultato[i] = '0';
  29.                            riporto = 0;
  30.                            break;
  31.                  case 1:
  32.                            risultato[i] = '1';
  33.                            riporto = 0;
  34.                            break;
  35.                  case 2:
  36.                            risultato[i] = '0';
  37.                            riporto = 1;
  38.                            break;
  39.                  case 3:
  40.                            risultato[i] = '1';
  41.                            riporto = 1;
  42.                            break;
  43.          }
  44.         }
  45.             cout << "\n" << " Risultato: " << risultato <<"\n";
  46. }



grazie ancora ragazzi....senza di voi ero rovinato!!!!ora farò la sottrazione!!!a presto

Ultima modifica effettuata da HeDo il 01/02/2010 alle 22:25
PM
Avatar
giuseppe90 (Normal User)
Newbie


Messaggi: 12
Iscritto: 30/01/2010

Segnala al moderatore
Postato alle 17:20
Lunedì, 01/02/2010
ho fatto la sottrazione....vorrei aiutato a individuare gli errori....grazie!!!

Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <cmath>
  3. #include <string>
  4. #include <iostream>
  5.  
  6. using namespace std;
  7. int sott_binaria (int op1, int op2);
  8. void main()
  9. {
  10.         string b("00001101");
  11.     string a("00001000");
  12.         string risultato("00000000");
  13.         int cifraA, cifraB, ris_sott;
  14.         int riporto=0;
  15.         cout << endl << "inserisci cifraA " << endl;
  16.         cin >> ("%d",&cifraA);
  17.         cout << endl << "inserisci cifraB " << endl;
  18.         cin >> ("%d",&cifraB);
  19.         ris_sott = sott_binaria(cifraA, cifraB);
  20.         cout << endl << "il risultato e' %d\n ", ris_sott);
  21. }
  22.  
  23. //funzione sottrazione binaria
  24. int sott_binaria (int op1, int op2)
  25. {
  26.         int prestito, sottrazione;
  27.         prestito = 1; //inizializzazione che serve per avviare il ciclo while
  28.         if (op1>op2)
  29.                 while (prestito >=1)
  30.                 {
  31.                         sottrazione = op1^op2;
  32.                         prestito &= (op1,op2);
  33.                         prestito = prestito << 1; //aggiunge un bit meno significativo 0
  34.                         op1=sottrazione;
  35.                         op2=prestito;
  36.                 }
  37.                 return sottrazione;
  38. }



Ultima modifica effettuata da HeDo il 01/02/2010 alle 22:26
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 22:28
Lunedì, 01/02/2010

Purtroppo mi costringi a farlo, è palese che stai scopiazzando a destra e a manca il codice.
Non hai la più pallida idea di cosa stai facendo e del perchè lo stai facendo, sul forum non si chiedono programmi pronti e il tuo atteggiamento non mi è piaciuto fin dall'inizio, oltre al fatto che non hai nemmeno letto il regolamento.

Concludo qui questa farsa.

PM
Pagine: [ 1 2 3 ] Precedente | Prossimo