elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Problema con script C en: 30 Abril 2017, 12:18 pm
Muestra lo que llevas. A lo mejor los dos índices están bien y el problema está en otro sitio.

Aquí esta: https://pastebin.com/qnTQM6wD

Agradecería que facilitarais el código correcto.

Gracias y un saludo.
2  Programación / Programación C/C++ / Re: Problema con script C en: 29 Abril 2017, 09:04 am
No consigo que funcione con dos indices. Me podrías pasar el código con la forma que propones?

Muchas Gracias!
3  Programación / Programación C/C++ / Re: Problema con script C en: 28 Abril 2017, 16:24 pm
Citar
Cuando copias frase2 a palin usas el mismo índice para los dos. Esto quiere decir que cuándo te saltas un signo de puntuación de los que has indicado en el if el contenido de palin en esa posición se quedará con un dato basura.

Como pódria solucionar esto, alguna idea?

Muchas Gracias, me has ayduado muhco.
4  Programación / Programación C/C++ / Re: Problema con script C en: 28 Abril 2017, 12:32 pm
Para este caso la función de la biblioteca estándar isalpha te va muy bien.
Con el siguiente código lo comprenderás.
Sea frase la frase a operar, i y j los índices del inicio de la frase y final de frase respectivamente:
Código:
for(i = 0, j = strlen(frase); j >= i; ++i, --j) {
    if(!isalpha(frase[i]))
        ++j;
    else if(!isalpha(frase[j]))
        --i;
    else if(tolower(frase[i]) != tolower(frase[j]))
        break;
}

Cómo funciona:
sabemos que al final de cada bucle i aumentará y j disminuirá por tanto si el caracter en i no es una letra lo debemos descartar. Eso lo hará el bucle automáticamente cuando llegue al final pero debemos impedir que j no se mueva. Cómo ya hemos dicho que al final j va a disminuir en una unidad vamos a tener que incrementarlo en una unidad para que en la próxima iteración se quede igual (apuntando al mismo caracter.
El funcionamiento de j para i es similar.
Cuando el bucle ya compara dos caracteres si son iguales pasa a la próxima iteración, si son diferentes quiere decir que la frase no es palíndromo y para el bucle con break.

Lo que nos dará si la frase es palíndromo será mirar si j es diferente a la mitad del tamaño de la frase menos 1.

Buenos días;

Te comento lo mismo que le he dicho al usuario @mester más arriba; la finalidad de mi código no es la de decir si una palabra es palindroma o no, sino decir si una frase es palindroma o no.

Mi código quita todos las comas, puntos, espacios y demás signos de la frase. Después, pasa a comprobar si es palindroma esa palabra que ha formado.

Ejemplo: Arde ya la yedra!
1º paso; lo convierte de una frase a una palabra: ardeyalayedra
2º paso, comprueba si es palibroma esa palabra.

Las 2 partes funcionan sin problema por separado pero al juntarlas no.

Agradecería mucho que alguien encontrara el error de mi código.

Un Saludo
5  Programación / Programación C/C++ / Re: Problema con script C en: 28 Abril 2017, 10:56 am
He probado pero sigue sin funcionar. El problema no esta en el código que dice si es palindromo o no porque funciona perfectamente por separado, es decir, sin el primer paso.

Gracias y un saludo
6  Programación / Programación C/C++ / Re: Problema con script C en: 28 Abril 2017, 10:48 am
Mi código es tan largo porque antes de comprobar si la frase es palindroma, quita todos las comas, puntos, espacios y demas signos de la frase. Después, pasa a comprobar si es palibdroma esa palabra que ha formado.

Ejemplo: Arde ya la yedra!
1º paso lo convierte ha: ardeyalayedra
2º paso, comprueba si es palibroma esa palabra.

Las 2 partes funcionan sin problema por separado pero al juntarlas no.

Agradecería mucho que alguien encontrara el error de mi código.

Un Saludo
7  Programación / Programación C/C++ / Problema con script C en: 27 Abril 2017, 21:12 pm
Buenas tardes;

Este script tiene como fin decir si una frase es palindroma o no. Funciona solo con frases que no tienen espacios y no encuentro el fallo. Al meter una frase que contenga espacios no funciona.

Os dejo aquí el código.

https://pastebin.com/4TGSe8d5

Muchas Gracias

8  Programación / Programación C/C++ / Re: Quitar ciertos elementos de un Array en: 27 Abril 2017, 19:56 pm
Muchas Gracias!
9  Programación / Programación C/C++ / Quitar ciertos elementos de un Array en: 27 Abril 2017, 17:34 pm
Buenas tarder;

Estoy empezando en este mundo de la programación y agradecería que me echaran una mano.
Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4.  
  5. int main ()
  6. {
  7.  
  8. char frase[50];
  9. int n;
  10.  
  11. n=0;
  12.  
  13. printf("Escribir una frase:\n");
  14.  
  15. gets(frase);
  16. if ((frase[n])!=(' '&','&'?'&'¿'&'!'&'¡'))
  17. {
  18. printf("%c", frase[n]);
  19. }
  20.  
  21. }

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.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines