Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-10-2004, 21:18   #1
LimiT-MaTz
Senior Member
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 673
aiuto correzzione codice c++ (somma binaria)

ecco a voi il codice ...
non riesco a capire cosa sbaglio concettualmente e per quale motivo non funzione .

vi ringrazio in anticipo!

Codice PHP:
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#define EOS '\0'
#define MAX 20

char *binsum(char[],char[],int,int);   // FUNZIONE PROTOTIPO

//                 //
// FUNZIONE MAIN //
//                 //

int main(){

    
char num1[MAX];
    
char num2[MAX];
    
int lvl1 = 0;
    
int lvl2 = 0;
    
int error = 0;
    
int error2 =0;
    
cout << "INSERISCI 2 CIFRE BINARIE" <<"\n"<< endl;
    
cin >> num1; cout <<":"; cin >> num2;

    
lvl1 = strlen(num1);
    
lvl2 = strlen(num2);
    
    for(
int i=0;i < lvl1;i++){                       //                      //
        
if (num1[i] != '0' && num1[i] != '1')         // CONTROLLO BINARIO //
            
error = 1;}                                 //                      //        
    
if(error==1) cout<<"\nERROR!";                     

    for(
int a=0;i < lvl1;a++){                       //                      //
        
if (num1[a] != '0' && num1[a] != '1')         // CONTROLLO BINARIO //
            
error2 = 1;}                             //                      //        
    
if(error2==1) cout<<"\nERROR!";                         

    
cout << binsum(num1,num2,lvl1,lvl2); 
    
    
    return 
0;
}


/// FUNZIONE ///

char *binsum(char num1[],char num2[],int lvl1,int lvl2){
    
int flag1=0;
    
int inum1=0;
    
int inum2=0;
    
int iresult=0;
    
char *result;
    
char *carry;
    if(
lvl1 > lvl2) 
        
flag1 = 1;
    if(
lvl1 < lvl2)
        
flag1 = 2;

    if (
flag1 == 1){
        
result = (char *) malloc(lvl1+1);
        
carry  = (char *) malloc(lvl1+1);
        
carry[0] = '0';
        for(
int i=0;i<=(lvl1);i++){
        
        if (
i<= lvl1)
            
inum1 =(int) num1[i];
        else 
inum1 = 0;

        if (
i <= lvl2)
            
inum2 =(int) num2[i];
        else 
inum2 = 0;
        
        
iresult = inum1 + inum2 + (int)carry[i];

        if (
iresult == 0){
            
result[i] = '0';
            
carry[i+1] =0;}
        if (
iresult == 1){
            
result[i]= '0';
            
carry[i+1]= 0;}
        if (
iresult == 2){
            
result[i]='0';
            
carry[i+1]=1;}
        if (
iresult == 3){
            
result[i] ='1';
            
carry[i+1] = 1;}
    }
        
result[lvl1+1] = EOS;}

    if (
flag1 == 0){
        
result = (char *) malloc(lvl1+1);
        
carry  = (char *) malloc(lvl1+1);
        
carry[0] = '0';
        for(
int i=0;i<=(lvl1);i++){
        
        if (
i<= lvl1)
            
inum1 =(int) num1[i];
        else 
inum1 = 0;

        if (
i <= lvl2)
            
inum2 =(int) num2[i];
        else 
inum2 = 0;
        
        
iresult = inum1 + inum2 + (int)carry[i];

        if (
iresult == 0){
            
result[i] = '0';
            
carry[i+1] =0;}
        if (
iresult == 1){
            
result[i]= '0';
            
carry[i+1]= 0;}
        if (
iresult == 2){
            
result[i]='0';
            
carry[i+1]=1;}
        if (
iresult == 3){
            
result[i] ='1';
            
carry[i+1] = 1;}
    }
        
result[lvl1+1] = EOS;}

    if (
flag1 == 2){
        
result = (char *) malloc(lvl2+1);
        
carry  = (char *) malloc(lvl2+1);

        
carry[0] = 0;
        for(
int i=0;i<=(lvl2);i++){
        
        if (
i<= lvl1)
            
inum1 =(int) num1[i];
        else 
inum1 = 0;

        if (
i <= lvl2)
            
inum2 =(int) num2[i];
        else 
inum2 = 0;
        
        
iresult = inum1 + inum2 +(int) carry[i];

        if (
iresult == 0){
            
result[i] = '0';
            
carry[i+1] =0;}
        if (
iresult == 1){
            
result[i]= '0';
            
carry[i+1]= 0;}
        if (
iresult == 2){
            
result[i]='0';
            
carry[i+1]=1;}
        if (
iresult == 3){
            
result[i] ='1';
            
carry[i+1] = 1;}
    }
        
result[lvl1+1] = EOS;}

    return 
result;}


    
////// 
__________________
MaTz!
LimiT-MaTz è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2004, 10:50   #2
bgpop
Senior Member
 
L'Avatar di bgpop
 
Iscritto dal: Nov 2000
Città: Hinterland (MI)
Messaggi: 1414
Quote:
for(int a=0;i < lvl1;a++){ // //
if (num1[a] != '0' && num1[a] != '1') //
Non so se possa essere questo il problema, ma guarda la condizione del for... hai messo i come il ciclo precedente, ma incrementi la a.
bgpop è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
TOP 10 offerte Amazon in 2 minuti: 3 sup...
Mythos 5 ha creato identità false per fa...
Google DeepMind presenta Genie 4, il mod...
Beats Studio Pro a 179€ in 3 colori, sup...
Oracle affida agli agenti di IA l'implem...
CO2 atmosferica a livello record nel 202...
Un portatile per i militari, ma con un o...
Discord, i messaggi di oltre 63.000 serv...
Nascosto nei meandri di Amazon, questo p...
Motorola Moto Buds 2 a 39,90€: prezzo di...
Due schede Raspberry Pi mai annunciate n...
Microfono gaming Yeti GX a 72,19€: -44% ...
PagoPA, false multe da 198 euro arrivano...
107,99€ su Amazon da stamattina: prezzo...
Cowboy Space Corp. presenta il suo razzo...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:40.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v