MasterDrive.it   
Vai indietro   MasterDrive.it > Software Development > C/C++



Rispondi
 
Strumenti della discussione Modalità di visualizzazione
Vecchio 18-01-2010, 17:41   #1 (permalink)
Nuovo della community

 
1 Messaggi

neo2504 novizio della comunita' ( + 10 )
[C] Sommare 2 numeri interi in C2

Ciao a tutti
Volevo chiedere un aiutino:
Devo fare un programma che, acquisiti 2 numeri da tastiera in ca2 (8bit), li sommi e comunichi il risultato.
Io ho pensato di:
introdurre i 2 numeri con i vettori, per poi poter trovare facilmente la posizione del primo "1" - per convertire da ca2 in binario.
Però mi sono bloccato dopo aver fatto questo:
codice:
/*Programma per sommare i numeri interi CON segno - CA2*/ 
#include <stdio.h> 
#include <stdlib.h> 
int N1[8], N2[8], I, I2, T; 
main() 
{ 
system("color F0"); 
//con il ciclo for ed i vettori dovrei poter inserire il numero in ca2 
for(I=0;I<7;I=I++) 
{ 
printf("\n Inserisci l'elemento di posizione %d :  ", I++); 
scanf("%d", &N1[i]); 
} 
for(I2=0;I2<7;I2=I2++) 
printf("\n Inserisci l'elemento di posizione: %d ", I++); 
scanf("%d", &N2[I2]); 
 
/*INIZIO STRUTTURA DI LAVORO - nessuna delle istruzioni di lavoro saranno 
visualizzati in Output. Soltanto i risultati delle operazioni saranno 
comunicati al'utente*/ 
 
//Inizio struttura conversione da CA2 in BIN 
if (I[7]=1) 
//azione da introdurre 
else 
if (I[6]=1) 
//azione da introdurre 
else 
if (I[5]=1) 
//azione da introdurre 
else 
if (I[4]=1) 
//azione da introdurre 
else 
if (I[3]=1) 
//azione da introdurre 
else 
if (I[2]=1) 
//azione da introdurre 
else 
if (I[1]=1) 
//azione da introdurre 
else 
if (I[0]=1) 
//azione da introdurre 
else 
 
system("pause"); 
}
Al posto di //azione da introdurre vorrei mettere un'istruzione che cambi il valore delle cifre precedenti, in questo modo convertendoli in BIN, ovviamente dopo dovrei convertire in DEC per sommare e ri-convertire il risultato in CA2 per comunicare il risultato in CA2.

Qualcuno mi può dare una mano a finire il programma nel modo più semplice possibile?

neo2504 non è in linea   Bookmark and Share Rispondi quotando
Vecchio 19-01-2010, 17:11   #2 (permalink)
Moderatore Globale

 L'avatar di M.A.W. 1968

 
319 Messaggi

M.A.W. 1968 e' una persona affidabile ( + 250 )M.A.W. 1968 e' una persona affidabile ( + 250 )M.A.W. 1968 e' una persona affidabile ( + 250 )
Siamo qui per aiutare chiunque lo chieda in modo ragionevole. Nel tuo caso, tuttavia, dovrai sforzarti di apprendere almeno l'algoritmo di conversione da una stringa (o array) binaria interpretata come complemento a due al corrispondente valore decimale.

Purtroppo il codice proposto è ben lungi dal poter essere "finito nel modo più semplice possibile": è proprio tutto da fare.
Ragiona di più sull'algoritmo, anche in pseudocodice: in seguito nel forum riceverai consigli e correzioni per l'implementazione.


Personalmente trovo inoltre deprecabile il cross posting sistematico su vari forum, nonché bizzarro che la medesima richiesta sia stata postata anche su un forum dal significativo titolo "Hacking easy", che è già un ossimoro...
__________________
Tutti gli utenti sono pregati di prendere visione del Regolamento del Forum e di rispettarlo.

• "Die ganzen Zahlen hat der liebe Gott gemacht, alles andere ist Menschenwerk." (Leopold Kronecker)
• "A Mathematician is a machine for turning coffee into theorems." (Pal Erdös)
• Un plauso a Grisha Perelman, raro esempio di genuino anticonformismo umano e scientifico.
M.A.W. 1968 non è in linea   Bookmark and Share Rispondi quotando
Rispondi

Strumenti della discussione
Modalità di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smilies sono attive
Il codice IMG è attivo
il codice HTML è disattivato
Trackbacks are attivo
Pingbacks are attivo
Refbacks are disattivato

Salto del forum


Tutti gli orari sono GMT +1. Attualmente sono le 12:50.


Powered by vBulletin versione 3.8.0
Copyright © 2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0

Valid XHTML 1.0 Transitional  Creative Commons License

Eccetto dove diversamente specificato, i contenuti pubblicati in questa comunità sono rilasciati sotto Licenza
Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia License.
La comunita' di MasterDrive.it non e' responsabile di eventuali imprecisioni presenti nelle pagine.