SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: Rbsmarte en Martes 3 de Junio de 2003, 18:11
-
Necesito hacer una funcion parecida a la de abajo, pero sin usar arrays ni strings, creo que la mejor forma de hacerlo es con punteros pero no se como hacerlo exactamente, asi que si podeis ayudarme os lo agradeceria.
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
char letras[80];
int aux, cont, contr, indicador, bucle = TRUE;
void main(void)
{
clrscr();
indicador = TRUE;
/* Leer la frase */
printf("Introduce una frase : n");
gets(letras);
strupr(letras);
aux = strlen(letras) - 1;
/* Realizar la busqueda */
for ((cont=0,contr=aux);cont<=aux/2;(++cont, --contr))
{
while (letras[cont] == ' ')
++cont;
while (letras[contr] == ' ')
--contr;
if (letras[cont] != letras[contr])
{
indicador = FALSE;
break;
}
}
/* Escribir mensaje */
if (indicador==TRUE)
printf("SI es un palindromonn");
else
printf("NO es un palindromonn");
getch();
}
P.D: ES para saber si una palabra es un palindromo, es decir si se escribe igual del derecho que del reves.
-
No se si todavia necesites la ayuda..
me cuentas porfa...
-
creo que sería algo así, siempre que te haya entendido bien.
#include <stdio.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
//char letras[80];
char* letras;
char* ptr;
char* rptr;
int aux, cont, contr, indicador,i, bucle = TRUE;
void main(void)
{
// clrscr();
letras = (char *) malloc (sizeof(char) * 80);
indicador = TRUE;
/* Leer la frase */
printf("Introduce una frase : n");
gets(letras);
strupr(letras);
aux = strlen(letras) - 1;
ptr = letras;
rptr = letras;
for (i =0; i < strlen(letras) - 1;++i) rptr++;
/* Realizar la busqueda */
for ((cont=0,contr=aux);cont<=aux/2;(++cont, --contr))
{
while (*ptr == ' ') ++ptr;
while (*rptr == ' ') --rptr;
if (*ptr != *rptr)
{
indicador = FALSE;
break;
}
}
/* Escribir mensaje */
if (indicador==TRUE)
printf("SI es un palindromonn");
else
printf("NO es un palindromonn");
getch();
}
-
perdona me faltó esto antes del getc()
free letras;
letras = NULL;
;-)