Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-10-2003, 17:37   #1
Beppe2hd
Senior Member
 
L'Avatar di Beppe2hd
 
Iscritto dal: Sep 2002
Città: Lecce
Messaggi: 889
Ce disperato programma

Questo codice dovrebbe contare gli spazi bianchi in una stringa, ma purtroppo non funziona.
Dove ho sbagliato


# include<stdio.h>
#include<ctype.h>


main()
{
char sentence[80];
int conta = 0;
int indice = 0;

printf("Enter a new line of text:\n");
gets(sentence);

for(indice=0; sentence[indice] != '\0'; indice++);
{
If isspace(sentence[indice]) != 0
++conta;
}

printf("Gli spazi sono in tutto: %d\n", conta);

}

Mi da errore alla linea " If isspace(sentence[indice]) != 0 "
premetto che la funzione isspace ritorna un valore vero o falso!
__________________
I bambini e i saggi sono coloro che hanno il coraggio di dire le stupidaggini che gli adulti pensano solamente - Il nuovo forum di Anime e Manga
Athlon XP 2500+ @ 2142 Mhz (209*10,5) , Abit Nf7-s rev 2.0, 512 Mb Corsair Xms PC 3200 Cas2, Ati Radeon 9500pro, HD Western Digital Caviar 80 Gb Buffer 8Mb, Lg L1710B
Beppe2hd è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2003, 18:13   #2
bsummer
Senior Member
 
L'Avatar di bsummer
 
Iscritto dal: Oct 2002
Messaggi: 487
Potrebbe essere che la funzione isspace non sia definita negli header che importi. Ma per quello che vuoi fare tu è sufficiente scrivere:

if sentence[indice]==32 {
conta++
}

32 è il codice ascii che corrisponde allo spazio.

Aloha!
bsummer è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2003, 09:54   #3
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
Per evitare eventuali problemi di porting: sentence[indice]==' '
E' anche molto + intuitivo...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2003, 09:57   #4
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
If isspace(sentence[indice]) != 0

Come ti fa a compialre una riga del genere ?

if(isspace(sentence[indice]) != 0)
poi visto che isspace ritorna vero o falso
if(isspace(sentence[indice]))

Comunque isspace non fa il check solamente dello spazio...

Quindi:
if(sentence[indice] == ' ')
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2003, 11:52   #5
Beppe2hd
Senior Member
 
L'Avatar di Beppe2hd
 
Iscritto dal: Sep 2002
Città: Lecce
Messaggi: 889
La funzione esisteva in realtà, il problema era l'if che avevo scritto come If (con la maiuscola) .

Comunque ho eliminato naturalmente anche la parte con !=0.

Ma ora il problema è un secondo programma che è il seguente.
Lo scopo è eliminare gli spazi in eccesso in una stringa.
Io confronto due caratteri e se sono tutti e due spazi non passo nulla da stampare, se uno non è spazio faccio stampare il carattere.

Il problema è che mi da problemi su return 0

#include<stdio.h>
#include<ctype.h>



main()
{
char sentence[80];
int count = 0;
int state = 0;

printf("Enter a new line of text:\n");
gets(sentence);

for(int index=0; sentence[index] != '\0';index++)
if ((isspace(sentence[index]) & (isspace(sentence[index -1]))
return 0;

else printf("%c",sentence[index]);



gets(sentence);
}
__________________
I bambini e i saggi sono coloro che hanno il coraggio di dire le stupidaggini che gli adulti pensano solamente - Il nuovo forum di Anime e Manga
Athlon XP 2500+ @ 2142 Mhz (209*10,5) , Abit Nf7-s rev 2.0, 512 Mb Corsair Xms PC 3200 Cas2, Ati Radeon 9500pro, HD Western Digital Caviar 80 Gb Buffer 8Mb, Lg L1710B
Beppe2hd è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2003, 12:00   #6
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
Ripeto isspace non controlla la presenza di spazi, ma anche di tab e di \n e \r...

Quindi devi controllare se il carattere è uguale a ' '...

Come fai a fare un return 0; se il main non è dichiarato come int main ? Al massimo puoi fare return; e basta
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2003, 15:31   #7
Beppe2hd
Senior Member
 
L'Avatar di Beppe2hd
 
Iscritto dal: Sep 2002
Città: Lecce
Messaggi: 889
In effetti è stato un mio errore di espressione, a me interessano anche gli altri caratteri speciali come \n ecompagnia..

il problema è che ho provato a fare anche solo con return, ma non mi da niente lo stesso:

comunque adesso provo a scrivere int main e a fare return 0
__________________
I bambini e i saggi sono coloro che hanno il coraggio di dire le stupidaggini che gli adulti pensano solamente - Il nuovo forum di Anime e Manga
Athlon XP 2500+ @ 2142 Mhz (209*10,5) , Abit Nf7-s rev 2.0, 512 Mb Corsair Xms PC 3200 Cas2, Ati Radeon 9500pro, HD Western Digital Caviar 80 Gb Buffer 8Mb, Lg L1710B
Beppe2hd è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2003, 16:50   #8
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
Sinceramente non capisco perchè return... Me lo spieghi ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2003, 16:51   #9
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
L'and logico si fa così &&...& è l'operatore di and bit a bit...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2003, 19:19   #10
Beppe2hd
Senior Member
 
L'Avatar di Beppe2hd
 
Iscritto dal: Sep 2002
Città: Lecce
Messaggi: 889
questo potrebbe rivelarsi interessante, ora provo.

Il problema è che sto lavorando in C solo da una settimana che per altro deve comprendere anche fisica è matematica.

Essendo i miei primi programmi non ho molta dimestichezza.

comunque il return era per uscire dalla if e mi sa che come metodo era poco ortodosso... vero?
__________________
I bambini e i saggi sono coloro che hanno il coraggio di dire le stupidaggini che gli adulti pensano solamente - Il nuovo forum di Anime e Manga
Athlon XP 2500+ @ 2142 Mhz (209*10,5) , Abit Nf7-s rev 2.0, 512 Mb Corsair Xms PC 3200 Cas2, Ati Radeon 9500pro, HD Western Digital Caviar 80 Gb Buffer 8Mb, Lg L1710B
Beppe2hd è offline   Rispondi citando il messaggio o parte di esso
Old 06-10-2003, 05:20   #11
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 Beppe2hd
comunque il return era per uscire dalla if e mi sa che come metodo era poco ortodosso... vero?
Il return esce dalla funzione corrente...

Spiegami a parole cosa volevi fare di preciso con questa condizione:

if(isspace(sentence[index]) && isspace(sentence[index-1]))

Se fai index-1 quando index è 0 vai a leggere in una zona di memoria non appartenente a sentence...quindi potenzialmente pericolosa...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Motorola Edge 70 Fusion: ecco le specifi...
8TB a meno di 170€: il richiestissimo Ha...
Il nuovo MacBook 'low cost' arriver&agra...
Pokémon Rosso Fuoco e Verde Fogli...
Risparmiare con le offerte Amazon: weeke...
Gli Xiaomi 17 arrivano a fine febbraio, ...
48.000 Pa a poco più di 100€: la ...
PC più potente, meno spesa: su Amazon to...
Con 2 acquisti si ottiene il 40% di scon...
Blocco VPN in Spagna durante le partite ...
ECOVACS DEEBOT T30C OMNI GEN2 torna a 34...
Cercate uno smartphone? Ecco 7 modelli i...
Paramount non molla: Netflix è pr...
Missione Artemis II diretta verso la Lun...
Toy Story 5 arriva al cinema: è l...
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: 13:29.


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