Gianluck Inviato 1 Ottobre 2007 Segnala Condividi Inviato 1 Ottobre 2007 ciao in c, come faccio ad indicare che un numero è dispari?? Es. if(num=<dispari>)printf("E' dispari"); grazie Macbook White 13" 2,0GHz || iMac 20" 2,4 GHz || iPhone 3G 8Gb Link al commento Condividi su altri siti Altre opzioni di condivisione...
zabe Inviato 1 Ottobre 2007 Segnala Condividi Inviato 1 Ottobre 2007 premetto che non so nulla di programmazione. se tu gli dicessi una cosa tipo: A è un numero dato se (A+1)/2 è un numero intero, allora scrivi "è dispari" ...può essere? http://ramine.net/would-you-like-a-quora-invite/ Link al commento Condividi su altri siti Altre opzioni di condivisione...
_Alexander_ Inviato 1 Ottobre 2007 Segnala Condividi Inviato 1 Ottobre 2007 no,così non si risolve...perchè il suo problema è proprio che non sa come definire se un numero è pari o dispari Non tocco C da anni,esiste l'operatore modulo in c?se esiste basta creare un if e dare: if(numero % 2== 0) è pari.. else è dispari Link al commento Condividi su altri siti Altre opzioni di condivisione...
Hitan Inviato 1 Ottobre 2007 Segnala Condividi Inviato 1 Ottobre 2007 devi usare l'operatore modulo (il resto della divisione) se il modulo di un numero diviso per 2 è 1 allora è dispari Link al commento Condividi su altri siti Altre opzioni di condivisione...
Gianluck Inviato 2 Ottobre 2007 Autore Segnala Condividi Inviato 2 Ottobre 2007 e per esempio if(num&1) pari else dispari ?? Macbook White 13" 2,0GHz || iMac 20" 2,4 GHz || iPhone 3G 8Gb Link al commento Condividi su altri siti Altre opzioni di condivisione...
Gianluck Inviato 2 Ottobre 2007 Autore Segnala Condividi Inviato 2 Ottobre 2007 #include <stdio.h> main(){ int num; p: scanf("%d", num); if (num % 2 == 0) printf("pari"); else printf("dispari"); goto p; } NN VA..mi da tutti pari! Macbook White 13" 2,0GHz || iMac 20" 2,4 GHz || iPhone 3G 8Gb Link al commento Condividi su altri siti Altre opzioni di condivisione...
MacMomo Inviato 2 Ottobre 2007 Segnala Condividi Inviato 2 Ottobre 2007 #include <stdio.h>main(){ int num; p: scanf("%d", num); if (num % 2 == 0) printf("pari"); else printf("dispari"); goto p; } NN VA..mi da tutti pari! Non so come faccia a funzionarti, visto che manca la & prima della variabile passata a scanf()... Per il resto dovrebbe funzionarti. Marco - Gallery MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM - Mac OS X 10.6 Snow Leopard Link al commento Condividi su altri siti Altre opzioni di condivisione...
Hitan Inviato 2 Ottobre 2007 Segnala Condividi Inviato 2 Ottobre 2007 infatti è proprio quello il problema, non alloca il valore in num che di default è 0 e quindi sempre pari Link al commento Condividi su altri siti Altre opzioni di condivisione...
Gianluck Inviato 2 Ottobre 2007 Autore Segnala Condividi Inviato 2 Ottobre 2007 no quello è stato 1 errore di battitura...come faccio? Macbook White 13" 2,0GHz || iMac 20" 2,4 GHz || iPhone 3G 8Gb Link al commento Condividi su altri siti Altre opzioni di condivisione...
lele Inviato 2 Ottobre 2007 Segnala Condividi Inviato 2 Ottobre 2007 strano, io ho provato a compilarlo e mi funziona #include <stdio.h> main() { int num; p: scanf("%d", &num); if (num % 2 == 0) printf("pari"); else printf("dispari"); goto p; } Chi è lei? Il numero 2. Chi è il numero 1? Lei è il numero 6. Link al commento Condividi su altri siti Altre opzioni di condivisione...
Macing Inviato 3 Ottobre 2007 Segnala Condividi Inviato 3 Ottobre 2007 strano, io ho provato a compilarlo e mi funziona #include <stdio.h> main() { int num; p: scanf("%d", &num); if (num % 2 == 0) printf("pari"); else printf("dispari"); goto p; } anche a me funziona MacBook Pro 15.4" - Intel Core 2 Duo 2.33 GHz iPod Shuffle 1Gb Silver iPod Touch 8Gb Link al commento Condividi su altri siti Altre opzioni di condivisione...
mutaforme Inviato 3 Ottobre 2007 Segnala Condividi Inviato 3 Ottobre 2007 goto in un programma c...brrrrr Pancho was a bandit boy, his horse was fast as polished steel He wore his gun outside his pants ----- Il Principe diventa Re, nella notte di Madrid. Link al commento Condividi su altri siti Altre opzioni di condivisione...
BlackICE Inviato 3 Ottobre 2007 Segnala Condividi Inviato 3 Ottobre 2007 infatti è proprio quello il problema, non alloca il valore in num che di default è 0 e quindi sempre pari di default non è sempre 0. Dipende da compilatore a compilatore e da architettura a architettura. Puoi anche trovarci valori a caso. e per esempio if(num&1) pari else dispari?? Dovrebbe funzionare (con i rami invertiti). Praticamente controlli il bit meno significativo. Sarebbe curioso scoprire se l'operazione di modulo, ottimizzata dal compilatore, è veloce quanto il confronto bit a bit... goto in un programma c...brrrrr iQuote Wii code: 0734 3828 1483 3595 Mii name: BlackICE Link al commento Condividi su altri siti Altre opzioni di condivisione...
Gianluck Inviato 5 Ottobre 2007 Autore Segnala Condividi Inviato 5 Ottobre 2007 xke? Macbook White 13" 2,0GHz || iMac 20" 2,4 GHz || iPhone 3G 8Gb Link al commento Condividi su altri siti Altre opzioni di condivisione...
Gianluck Inviato 5 Ottobre 2007 Autore Segnala Condividi Inviato 5 Ottobre 2007 ok ora funziona anke a me Macbook White 13" 2,0GHz || iMac 20" 2,4 GHz || iPhone 3G 8Gb Link al commento Condividi su altri siti Altre opzioni di condivisione...
mutaforme Inviato 5 Ottobre 2007 Segnala Condividi Inviato 5 Ottobre 2007 xke? Perché è un comando che viene utilizzato in linguaggi "spaghetti like", il C è un linguaggio strutturato quindi il goto è deprecatissimo e inutile (è dimostrato che con i for e gli if puoi fare tutto). Andava bene per il basic del Commodore 64, adesso no. Insomma se vuoi imparare il C/C++ dimentica goto. Pancho was a bandit boy, his horse was fast as polished steel He wore his gun outside his pants ----- Il Principe diventa Re, nella notte di Madrid. Link al commento Condividi su altri siti Altre opzioni di condivisione...
BlackICE Inviato 7 Ottobre 2007 Segnala Condividi Inviato 7 Ottobre 2007 Diciamo che il goto si usa solo i particolari casi come la gestione degli errori. Generalmente questa gestione degli errori, di una funzione, prevede una fase finale di cleanup che viene spesso programmata tramite MACRO e l'uso dei goto. Comunque rimane un costrutto raramente utilizzato, non necessario. Solo in qualche particolare caso (comunque non visible direttamente perchè nascosto nelle macro) permette di scrivere un codice meglio organizzato. Wii code: 0734 3828 1483 3595 Mii name: BlackICE Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Archiviato
Questa discussione è archiviata e chiusa a future risposte.