[ Foro de C ]
Bueno he desarrollado la solución:
/*******************************
* Ejercicio 5.2.4 del manual *
* de C básico de: *
* Nacho Cabanes *
* www.nachocabanes.com/c/curso *
*******************************/
//Incluimos las librerías necesarias
#include <stdio.h> //Estándard
#include <string.h> //Cadenas
//Variables que vamos a usar
char text[41]; //Almacenaremos el texto
int letter=0; //Para el búcle
//Inicio del programa
int main () {
//Pedimos que escriba el Hola, que tal? del ejercicio
printf("Introduzca el texto: ");
//Recogemos los 40 caracteres
//(recuerdo que pedimos 41 por que el último es un caracter de fin de cadena)
gets(text);
//Búcle para imprimir la cadena
for(letter=0; letter<strlen(text); letter++) {
//Si no es un espacio lo mostramos
if(text[letter] != ' ') printf("%c", text[letter]);
}
//No es necesario pero indicará que el programa acabó sin errores
return 0;
}
En la línea:
if(text[letter] != ' ') printf("%c", text[letter]);
Si uso " ", no funciona da un error de punteros o algo así. Quería saber si tiene algo que ver con que procese lo que está entre comillas dobles y no simples como PHP o algo así. Y que si alguien es tan amable lo explique por que yo no lo se si no es por eso.
Nacho para las soluciones, ¿Podría hacerse un wiki y que cada usuario que quiera aporte la suya? Ya que un problema en programación tiene multiples soluciones, aunque solo 1 es la más correcta que no la más eficiente (o no siempre o todos los lenguajes de programación [cuanta variable!]).
Un Saludo y gracias.
PAZ!
-- Edito --
No se si es importante pero uso XCode en Snow Leopard (está todo actualizado).
Por favor algo para resaltar código o algo así en el foro y enumerar las líneas :P jajaja (puestos a pedir...).
Perdona, Gabriel, se me había pasado tu mensaje. Decias:
---
En la línea:
if(text[letter] != ' ') printf("%c", text[letter]);
Si uso " ", no funciona da un error de punteros o algo así. Quería saber si tiene algo que ver con que procese lo que está entre comillas dobles y no simples como PHP o algo así. Y que si alguien es tan amable lo explique por que yo no lo se si no es por eso.
---
Por supuesto que tiene que ver. Un carácter se indica siempre comillas simples. Si usas " " es una cadena de texto que contiene sólo un espacio... pero una cadena de texto al fin y al cabo, de modo que no se puede comparar con "text[letter]", que claramente sí es una letra.
Por cierto, lo del wiki es buena idea, pero un wiki es susceptible de "destrozos" y yo ahora mismo no podría vigilarlo tanto como me gustaría. Prefiero ir recopilando yo vuestras contribuciones (con vuestro nombre, para que no se pierda quien hizo el trabajo) y publicarlas en la página oficial del curso.
El wiki se puede restringir para que ciertos usuarios registrados puedan modificar contenido y, sin embargo, todos puedan ver el contenido (registrados y no registrados).
Un Saludo nacho y gracias por tú aclaración :)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)