Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Intel Lunar Lake: le nuove CPU per i notebook del 2024
Intel Lunar Lake: le nuove CPU per i notebook del 2024
La prossima generazione di notebook sottili e potenti basati su architettura Intel Lunar Lake debutterà tra terzo e quarto trimestre. Al Computex 2024 Intel ne anticipa le caratteristiche architetturali, mostrando le capacità dell'approccio ibrido con i nuovi P-Core e E-Core costruiti con la collaborazione della taiwanese TSMC
Intel Xeon 6 e Intel Gaudi 3 nel futuro dei datacenter
Intel Xeon 6 e Intel Gaudi 3 nel futuro dei datacenter
Intelligenza artificiale ed elevata capacità di elaborazione sono al centro dei due nuovi prodotti che Intel offre ai datacenter del futuro: le CPU Xeon 6 saranno proposte in due declinazioni, con E-Cores oppure con P-Cores, mentre gli acceleratori Gaudi 3 promettono balzi in avanti nella gestione dei calcoli legati all'intelligenza artificiale
Ghost of Tsushima Director's Cut PC: il porting superbo di un gioco magnifico
Ghost of Tsushima Director's Cut PC: il porting superbo di un gioco magnifico
Nelle ultime settimane abbiamo provato in maniera più che approfondita Ghost of Tsushima Director's Cut per PC, ultima esclusiva PlayStation approdata su computer. Il capolavoro di Sucker Punch si mostra come mai prima d'ora, con un ventaglio di impostazioni grafiche esteso e prestazioni eccellenti. Sì, Ghost of Tsushima dopo decine di ore di gioco non ci ha stancato, anzi il multiplayer convince solo a non fermarsi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-02-2009, 08:59   #1
nuvolare
Member
 
Iscritto dal: Jan 2006
Messaggi: 299
Programmare in C

Salve a tutti, sto iniziando a programmare come da oggetto, cercavo la sezione adatta, ma non l'ho trovata, quindi mi scuso in caso c'è ne sia una e prego i moderatori in tal caso di postare la discussione nella giusta sezione.
Quindi vi chiedo esiste un modo per far separare i numeri pari d quelli dispari?
Grazie
nuvolare è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 09:17   #2
Mailor
Senior Member
 
L'Avatar di Mailor
 
Iscritto dal: Mar 2007
Messaggi: 1459
Quote:
Originariamente inviato da nuvolare Guarda i messaggi
Salve a tutti, sto iniziando a programmare come da oggetto, cercavo la sezione adatta, ma non l'ho trovata, quindi mi scuso in caso c'è ne sia una e prego i moderatori in tal caso di postare la discussione nella giusta sezione.
Quindi vi chiedo esiste un modo per far separare i numeri pari d quelli dispari?
Grazie
if (x%2 ==0) pari
else dispari
__________________
root#> man life
No manual entry for life
root#>_
Mailor è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 09:20   #3
nuvolare
Member
 
Iscritto dal: Jan 2006
Messaggi: 299
Quote:
Originariamente inviato da Mailor Guarda i messaggi
if (x%2 ==0) pari
else dispari
Mi fa piacere poterti dire che pensavo fosse qualcosa del genere, ma siccome sono agli inizzi non riuscivo a trovare l'inghippo giusto!!!
Grazie 1000
nuvolare è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 09:46   #4
nuvolare
Member
 
Iscritto dal: Jan 2006
Messaggi: 299
Quote:
Originariamente inviato da Mailor Guarda i messaggi
if (x%2 ==0) pari
else dispari
Scusami stavo implementando il codice ed ho creato due tipi
Codice:
if (numero%2==0)
		printf("Il numero è pari\n");
	else
		printf("Il numero è dispari\n");
e con questo mi dice sempre che è pari

l'altro
Codice:
		x = numero;
	if (numero/2==0)
		printf("Il numero è pari\n");
	else
	{
		printf("Il numero è dispari\n");
	}
}
Mi dice sempre dispari
nuvolare è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 12:09   #5
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Ti sposto nella sezione Programmazione
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 12:48   #6
~FullSyst3m~
Senior Member
 
L'Avatar di ~FullSyst3m~
 
Iscritto dal: Mar 2007
Messaggi: 4660
Quote:
Originariamente inviato da nuvolare Guarda i messaggi
Scusami stavo implementando il codice ed ho creato due tipi
Codice:
if (numero%2==0)
		printf("Il numero è pari\n");
	else
		printf("Il numero è dispari\n");
e con questo mi dice sempre che è pari

l'altro
Codice:
		x = numero;
	if (numero/2==0)
		printf("Il numero è pari\n");
	else
	{
		printf("Il numero è dispari\n");
	}
}
Mi dice sempre dispari
Non conosco C, ma può essere un problema di come è strutturato il codice.
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito.
~FullSyst3m~ è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 13:00   #7
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Credo che numero debba essere float; se è int nella divisione leva la parte dopo la virgola... e quindi numero%2== 0 vale sempre.

Prova con
Codice:
if ( ((float)numero)%2==0)
	printf("Il numero è pari\n");
else
	printf("Il numero è dispari\n");
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 13:46   #8
nuvolare
Member
 
Iscritto dal: Jan 2006
Messaggi: 299
Quote:
Originariamente inviato da Tommo Guarda i messaggi
Credo che numero debba essere float; se è int nella divisione leva la parte dopo la virgola... e quindi numero%2== 0 vale sempre.

Prova con
Codice:
if ( ((float)numero)%2==0)
	printf("Il numero è pari\n");
else
	printf("Il numero è dispari\n");
Ho pensato potesse essere una cosa del genere, ed ho dichiarato il codice all`inizio, come, float numero; , ma non e` cambiato nulla.
Quindi che differenza ce` tra dichiararlo all`interno del codice, come hai fatto tu ed all`inizio come ho fatto io?
Grazie
nuvolare è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 14:09   #9
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
assolutamente nessuna
Ho scritto così perchè non sapevo se il tuo "numero" potesse essere cambiato in float.
Prova a scrivere 2.0f allora, invece che 2...
e sei sicuro che il valore di numero arriva esatto a quel punto dell'esecuzione?
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 15:24   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53968
No, numero non deve essere convertito a float.
Questo è il codice giusto.
Codice:
if (numero%2==0)
	printf("Il numero è pari\n");
else
	printf("Il numero è dispari\n");
% è l'operatore di resto fra interi...il resto fra divisioni float non esiste

if (numero/2==0)

Questa istruzione ti ritorna 0 solo se inserisci il numero 1...per tutti gli altri ti ritorna il risultato della divisione per 2, quendi è ovvio che scriva dispari.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:09   #11
nuvolare
Member
 
Iscritto dal: Jan 2006
Messaggi: 299
Quote:
Originariamente inviato da cionci Guarda i messaggi
No, numero non deve essere convertito a float.
Questo è il codice giusto.
Codice:
if (numero%2==0)
	printf("Il numero è pari\n");
else
	printf("Il numero è dispari\n");
% è l'operatore di resto fra interi...il resto fra divisioni float non esiste

if (numero/2==0)

Questa istruzione ti ritorna 0 solo se inserisci il numero 1...per tutti gli altri ti ritorna il risultato della divisione per 2, quendi è ovvio che scriva dispari.
Il mio codice è questo ed a me da sempre pari
Codice:
#include <stdio.h>

int main()
{
	int x;
	int numero ;
	printf("\n");
	printf("***Calcola i numeri pari ed i numeri dispari***\n");
	printf("\n");
	printf("introdurre numero ->  ");
	scanf("%d", &x);
	x = numero;
	if (numero%2==0)
	printf("Il numero è pari\n");
else
	printf("Il numero è dispari\n");

}
nuvolare è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:10   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53968
scanf("%d", &x);
x = numero;
if (numero%2==0)
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:15   #13
nuvolare
Member
 
Iscritto dal: Jan 2006
Messaggi: 299
Quote:
Originariamente inviato da cionci Guarda i messaggi
scanf("%d", &x);
x = numero;
if (numero%2==0)
Ma non è uguale al mio?
nuvolare è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:18   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53968
Quote:
Originariamente inviato da nuvolare Guarda i messaggi
Ma non è uguale al mio?
Ho segnato in rosso l'errore
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:25   #15
nuvolare
Member
 
Iscritto dal: Jan 2006
Messaggi: 299
Quote:
Originariamente inviato da cionci Guarda i messaggi
Ho segnato in rosso l'errore
Quindi devo togliere l'errore e farlo

Codice:
#include <stdio.h>

int main()
{
	int x;
	int numero ;
	printf("\n");
	printf("***Calcola i numeri pari ed i numeri dispari***\n");
	printf("\n");
	printf("introdurre numero ->  ");
	scanf("%d", &x);
	if (numero%2==0)
	printf("Il numero è pari\n");
else
	printf("Il numero è dispari\n");

}
Ma sempre pari mi da!
nuvolare è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:35   #16
lor84
Member
 
L'Avatar di lor84
 
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
Quote:
Originariamente inviato da nuvolare Guarda i messaggi
Quindi devo togliere l'errore e farlo

Codice:
#include <stdio.h>

int main()
{
	int x;
	int numero ;
	printf("\n");
	printf("***Calcola i numeri pari ed i numeri dispari***\n");
	printf("\n");
	printf("introdurre numero ->  ");
	scanf("%d", &x);
	if (numero%2==0)
	printf("Il numero è pari\n");
else
	printf("Il numero è dispari\n");

}
Ma sempre pari mi da!
innanzitutto il controllo non lo devi fare su numero che non è inizializzato ma su x (toglilo numero che non serve).. poi come detto prima devi usare come tipo un float anzichè un int
lor84 è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:46   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53968
Quote:
Originariamente inviato da lor84 Guarda i messaggi
poi come detto prima devi usare come tipo un float anzichè un int
Ma assolutamente NO, l'ho già scritto sopra.
Non esiste il resto nella divisione fra numeri float. L'operatore % si chiama: resto della divisione intera. Vuole due interi come operandi.

Ovviamente poteva utilizzare direttamente x per fare il modulo (altro nome dell'operatore %), ma il problema nel suo codice è l'assegnazione. Non l'avevo segnata in rosso perché la dovesse togliere, l'avevo segnata in rosso perché pensasse a quello che aveva scritto e del perché non è corretto.
Legge x, assegna numero a x e poi fa il modulo su numero...c'è qualcosa che non torna...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 16:52   #18
lor84
Member
 
L'Avatar di lor84
 
Iscritto dal: Mar 2008
Città: Civitanova Marche
Messaggi: 32
Quote:
Originariamente inviato da cionci Guarda i messaggi
Ma assolutamente NO, l'ho già scritto sopra.
Non esiste il resto nella divisione fra numeri float. L'operatore % si chiama: resto della divisione intera. Vuole due interi come operandi.

Ovviamente poteva utilizzare direttamente x per fare il modulo (altro nome dell'operatore %), ma il problema nel suo codice è l'assegnazione. Non l'avevo segnata in rosso perché la dovesse togliere, l'avevo segnata in rosso perché pensasse a quello che aveva scritto e del perché non è corretto.
Legge x, assegna numero a x e poi fa il modulo su numero...c'è qualcosa che non torna...
si giusto...(non avevo letto il post sopra)
lor84 è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 17:04   #19
nuvolare
Member
 
Iscritto dal: Jan 2006
Messaggi: 299
Quote:
Originariamente inviato da cionci Guarda i messaggi
Ma assolutamente NO, l'ho già scritto sopra.
Non esiste il resto nella divisione fra numeri float. L'operatore % si chiama: resto della divisione intera. Vuole due interi come operandi.

Ovviamente poteva utilizzare direttamente x per fare il modulo (altro nome dell'operatore %), ma il problema nel suo codice è l'assegnazione. Non l'avevo segnata in rosso perché la dovesse togliere, l'avevo segnata in rosso perché pensasse a quello che aveva scritto e del perché non è corretto.
Legge x, assegna numero a x e poi fa il modulo su numero...c'è qualcosa che non torna...
Ok, ho capito...
Siccome lo hai segnato in rosso ho pensato che il tuo intento fosse quello di dirmi che quello era l'errore e quindi l'ho tolto, invece tu mi avevi segnato l'errore per farmi riflettere, che in effetti è la soluzione migliore.
Quindi Grazie, 1000
ormai giusto per far vedere il codice incollo qua sotto quello corretto

Codice:
#include <stdio.h>

int main()
{
	int x;
	int numero ;
	printf("\n");
	printf("***Calcola i numeri pari ed i numeri dispari***\n");
	printf("\n");
	printf("introdurre numero ->  ");
	scanf("%d", &x);
	if (x %2==0)
	printf("Il numero è pari\n");
else
	printf("Il numero è dispari\n");

}
nuvolare è offline   Rispondi citando il messaggio o parte di esso
Old 12-02-2009, 17:06   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53968
Ma non mi hai detto ancora quale errore avevi fatto
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Intel Lunar Lake: le nuove CPU per i notebook del 2024 Intel Lunar Lake: le nuove CPU per i notebook de...
Intel Xeon 6 e Intel Gaudi 3 nel futuro dei datacenter Intel Xeon 6 e Intel Gaudi 3 nel futuro dei data...
Ghost of Tsushima Director's Cut PC: il porting superbo di un gioco magnifico Ghost of Tsushima Director's Cut PC: il porting ...
Robot tagliaerba Navimow i105E in prova: GPS e videocamera per un prato perfetto Robot tagliaerba Navimow i105E in prova: GPS e v...
Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchine fotografiche 5G? Xiaomi 14 e Xiaomi 14 Ultra: sono davvero macchi...
Samsung lancia la nuova linea di monitor...
NVIDIA GeForce RTX serie 50: stesso nume...
PlayStation VR2 su PC: Sony presenta uff...
Incentivi peggio di un click day, molti ...
Adobe rimproverata per aver consentito l...
MSI si prepara all'arrivo delle CPU AMD ...
Apple modifica le specifiche dei nuovi i...
QNAP presenta il NAS a doppio allogiamen...
MSI Modern: prezzo ottimo (499€) per un ...
NVIDIA mostra nuovi trailer di Star Wars...
iPhone 5s è adesso obsoleto, iPod...
Sigma 28-45mm F1.8 DG DN: zoom super lum...
HP mostra un concetto di monitor Micro L...
Netflix smetterà di funzionare su...
Copilot+: annunciati nuovi modelli delle...
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: 06:05.


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