• Lunes 13 de Mayo de 2024, 15:17

Autor Tema:  Re: Punteros tocahuevos!!!  (Leído 1535 veces)

Rbsmarte

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Punteros tocahuevos!!!
« en: Martes 3 de Junio de 2003, 18:11 »
0
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.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Punteros tocahuevos!!!
« Respuesta #1 en: Jueves 5 de Junio de 2003, 16:39 »
0
No se si todavia necesites la ayuda..
me cuentas porfa...
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Guaire

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Punteros tocahuevos!!!
« Respuesta #2 en: Domingo 15 de Junio de 2003, 01:20 »
0
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();
}

Guaire

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Punteros tocahuevos!!!
« Respuesta #3 en: Domingo 15 de Junio de 2003, 12:47 »
0
perdona me faltó esto antes del getc()

 free letras;
 letras = NULL;

 ;-)