Oppure

Loading
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