Quitar ciertos elementos de un Array

Iniciado por luisito45, 27 Abril 2017, 17:34 PM

0 Miembros y 1 Visitante están viendo este tema.

luisito45

Buenas tarder;

Estoy empezando en este mundo de la programación y agradecería que me echaran una mano.
#include <stdio.h>
#include <conio.h>
#include <string.h>

int main ()
{

char frase[50];
int n;

n=0;

printf("Escribir una frase:\n");

gets(frase);
if ((frase[n])!=(' '&','&'?'&'¿'&'!'&'¡'))
{
printf("%c", frase[n]);
}

}


Lo que intento hacer con este script es que se borren los caracteres "?¿!¡,." al escribir una frase. El script obviamente no esta completo pero el problema que tengo es que solo quita los espacios de una frase y no el resto de simbolos.

Gracias y espero vuestra respuesta.

MAFUS

Debes venir de algún lenguaje de alto nivel, por cómo veo cómo tratas el if y lo llamas script.
Todas las opciones de una decisión tienen que estar escritas en su forma larga, y sí, es repetir mucho código.
En tu caso sería:
if ( frase[n] != ' ' &&
     frase[n] != ',' &&
     frase[n] != '?' &&
     frase[n] != '¿' &&
     frase[n] != '!' &&
     frase[n] != '¡' )


Por cierto & es el operador AND a nivel de bits. El operador lógico AND para todo el dato es &&.


kuhi

Cita de: MAFUS en 27 Abril 2017, 18:22 PM
Debes venir de algún lenguaje de alto nivel, por cómo veo cómo tratas el if y lo llamas script.
Todas las opciones de una decisión tienen que estar escritas en su forma larga, y sí, es repetir mucho código.
En tu caso sería:
if ( frase[n] != ' ' &&
     frase[n] != ',' &&
     frase[n] != '?' &&
     frase[n] != '¿' &&
     frase[n] != '!' &&
     frase[n] != '¡' )


Por cierto & es el operador AND a nivel de bits. El operador lógico AND para todo el dato es &&.
Buenas!!! 😊👍🏻 leyendo este post me sale una duda... antes de explicarme aviso soy principiante en C.
Yo siempre que he hecho este tipo de códigos he tenido que recorrer el array con un bucle.
Se puede hacer sin bucle de esta manera que enseñáis?
Entiendo que el bucle debería hacer n++ y así recorrer todos los chars.. entonces comparar con la condición if, en caso de no cumplirse saltar a un else o simplemente seguir a la línea que toque...
saludos y muchas gracias por vuestra atención! ❤️
El conocimiento no ocupa lugar, somos libres de saber cuánto queramos...

MAFUS

Existe el bucle pero no está reflejado en el código. luisito45 dice:
CitarEl script obviamente no esta completo pero [...]