Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
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: 4683
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: 53971
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: 53971
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: 53971
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: 53971
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: 53971
Ma non mi hai detto ancora quale errore avevi fatto
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
Disponibili i video e le immagini in alt...
La NASA ha rilasciato le prime fotografi...
Cometa interstellare 3I/ATLAS: l'ESA dif...
Kodak PIXPRO AZ653: la fotocamera bridge...
Monitor da gaming: Samsung si conferma l...
The Duskbloods potrebbe arrivare a fine ...
Il miglior pesce d'aprile del mondo Linu...
Monopattini elettrici a 62 km/h fermati ...
OpenAI porta la modalità vocale d...
Mercedes-Benz introduce lo steer-by-wire...
Hacker agli Uffizi, il museo smentisce: ...
Nvidia mostra il futuro della grafica co...
Windows 11, scattano gli aggiornamenti f...
TIM lancia l'offerta di Pasqua: Giga ill...
Prime foto reali per OPPO Find X9 Ultra:...
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: 22:12.


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