Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione realme 12+: sfida la fascia media con un design unico e un display luminosissimo
Recensione realme 12+: sfida la fascia media con un design unico e un display luminosissimo
Il nuovo dispositivo top della Serie 12 arriva dopo le varianti "Pro" e si configura come una proposta di gamma media ben equilibrata, capace di rivolgersi a un pubblico molto ampio formato sia di utenti esigenti, sia di persone attente al risparmio. Non adotta il SoC più potente del mercato, ma punta di catturare le attenzioni attraverso un display AMOLED da 120Hz e 2000 nit, una fotocamera principale di qualità e, soprattutto, un design particolare.
OnePlus Pad Go: un tablet economico perfetto per l'intrattenimento. La recensione
OnePlus Pad Go: un tablet economico perfetto per l'intrattenimento. La recensione
OnePlus Pad Go è un tablet Android di fascia media che offre un'esperienza di intrattenimento immersiva grazie al display 2.4K, all'audio Dolby Atmos, alla connettività LTE e a un design premium, il tutto a un prezzo molto competitivo. Ecco tutti i dettagli nella nostra recensione completa.
Per Huawei l’IA è una questione di storage. Presentate soluzioni dedicate e un SSD da 128 TB
Per Huawei l’IA è una questione di storage. Presentate soluzioni dedicate e un SSD da 128 TB
Inizia l’era dell’AI storage. Durante l’Innovative Data Infrastructure Forum 2024, Huawei ha presentato OceanStor A800, una soluzione innovativa pensata per i carichi di lavoro legati all’intelligenza artificiale generativa
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: 53967
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: 53967
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: 53967
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: 53967
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: 53967
Ma non mi hai detto ancora quale errore avevi fatto
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione realme 12+: sfida la fascia media con un design unico e un display luminosissimo Recensione realme 12+: sfida la fascia media con...
OnePlus Pad Go: un tablet economico perfetto per l'intrattenimento. La recensione OnePlus Pad Go: un tablet economico perfetto per...
Per Huawei l’IA è una questione di storage. Presentate soluzioni dedicate e un SSD da 128 TB Per Huawei l’IA è una questione di storag...
Recensione Google Pixel Tablet: in ritardo ma un ottimo primo passo! Recensione Google Pixel Tablet: in ritardo ma un...
ASUS ProArt PA32UCXR: 4K, Quantum Dot e Mini-LED i per professionisti dell'immagine ASUS ProArt PA32UCXR: 4K, Quantum Dot e Mini-LED...
Un gioco per sfidare il primo uomo con i...
La EOS R1 arriverà entro il 2024
Ebury colpisce in silenzio: 400.000 serv...
2 mini PC potentissimi ed economici: AMD...
2 PC low cost in super sconto: con AMD R...
Usare Android Auto in wireless su qualsi...
Addio Intel Ponte Vecchio: dopo aver vis...
Hard disk Toshiba: superati i 30 TB con ...
MediaTek e NVIDIA insieme sui notebook c...
Gemini per Google Workspace: in arrivo t...
Gemini si prepara a capire meglio ci&ogr...
Google riprogetta il suo motore di ricer...
Google Foto si rinnova con l'intelligenz...
Nuovo rinvio per la navicella Boeing CST...
Una campagna malware ha preso di mira si...
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: 07:24.


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