Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5 introduce Dynamic Multi Frame Generation e MFG 6X, permettendo fino a cinque frame generati per ogni frame renderizzato. I test su Cyberpunk 2077 e 007 First Light mostrano forti incrementi di FPS e riduzione della latenza su RTX 5090 Laptop. Migliorano fluidità, stabilità e qualità visiva.
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-10-2004, 20: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 >> num1cout <<":"cin >> num2;

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

    for(
int a=0;lvl1;a++){                       //                      //
        
if (num1[a] != '0' && num1[a] != '1')         // CONTROLLO BINARIO //
            
error2 1;}                             //                      //        
    
if(error2==1cout<<"\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 (
<= 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 (
<= 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 (
<= 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, 09: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


DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
TIM, rincari da luglio: come evitare l'a...
WWDC 26: Il Digital Markets Act dell'Uni...
WWDC 26: Apple Intelligence rivoluziona ...
Siri AI arriva alla WWDC 2026: nuove cap...
Alla WWDC 2026 arriva la nuova architett...
Tra schede madri, schede video e IA le n...
Nintendo, multa da 35 milioni di euro in...
L'amministrazione Trump valuta una parte...
WWDC 26: Apple rinnova il controllo pare...
Apple al WWDC 26 presenta iOS 27: Liquid...
Xbox, alla fine, dà ragione a Pla...
Minecraft Dungeons 2: Microsoft ha annun...
Synology al Computex 2026: nuova generaz...
Quobly raccoglie 115 milioni di euro per...
BYD batte sul tempo Tesla Roadster: avvi...
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: 04:11.


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