12/09/07 18:11
LuigiBiasi
In pratica il programma deve eliminare gli spazi nulli(di troppo),
dovrebbe essere cosi l'algoritmo.
#include <stdio.h>
void main()
{
int c;
bool b = false;
while ((c=getchar())!=EOF){
if (c ==' ') {
if (b==false){
b = true;
putchar(c);
}
else{
continue;
}
}
else{
b=false;
putchar (c);
}
}
}
Ciao.
Ultima modifica effettuata da LuigiBiasi 12/09/07 18:15
aaa
13/09/07 10:13
karl_bass
grazie.
a volte le soluzioni sono molto più semplici di quanto uno pensi.
non avevo pensato ad una variabile interrutore.
vorrei aggiungere una cosa.
mi sembra che il C non preveda variabili di tipo booleano; infatti il mio compilatore mi segnala errore.
quindi ho riscritto il codice creando la variabile interrutore di tipo int
#include <stdio.h>
void main()
{
int c;
int b = 0;
while ((c=getchar())!=EOF){
if (c ==' ') {
if (b == 0){
b = 1;
putchar(c);
}
else{
continue;
}
}
else{
b = 0;
putchar (c);
}
}
}
questa è la stesura definitiva.
il programma funziona.
saluti
aaa
23/06/12 7:14
cicciomaz
Salve, se a qualcuno può servire o interessare io l'esercizio l'ho risolto così:
#include <stdio.h>
int main(){
int c,b;
b = 0;
while ( (c = getchar()) != EOF){
if ( c != ' ' ) {
b = 0;
putchar(c);
}
if ( c == ' '){
if (b == 0){
putchar(c);
b++;
}
if (b > 1) {
b++;
}
}
}
return 0;
}
Basandomi anche sul fatto che quando nel libro l'esercizio viene proposto i concetti di else e continue ancora non sono stati spiegati.
Ciao
Ultima modifica effettuata da cicciomaz 23/06/12 7:16
aaa