Ir para conteúdo
Fórum Script Brasil
  • 0

Comparar String´s


Casanova

Pergunta

Boa tarde pessoal !!!

Sou iniciante no C++, e estou efetuando um exercício para a faculdade que tem o seguinte problema exposto. É necessário que se verifique se a palavra ou um número digitado pelo usuário é polidromo, tem a mesma ordem de letras ou números quando se inverte a mesma. Pelo que o professor ensinou e pelo que eu li sobre a linguagem consegui chegar até aqui:

// polidromo.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include "stdio.h"

#include "ctype.h"

#include "string.h"

int main(int argc, char* argv[])

{

char s1[100], s2[100];

int i=0, j=0;

printf("Digite uma Frase com 2 ou mais caracteres: ");

gets(s1);

while (s1!=0)

{

i++;

}

i=strlen(s1);

for(j=i; j>=0; j--)

printf("%c %c", s1[j],' ');

printf("\n");

return 0;

}

Esse código roda perfeitamente, só que ele me traz somente o inverso daquilo que foi digitado, e estou precisando que ele verifique se a inversão é exata e que me mostre o resultado na tela. Sei que existe um comando que se chama Stromp, que efetua a comparação de Strings, só que não sei se ela que se usa, e aonde devo inseri-la no código....

Desde já agradeço a atenção;

Obrigado.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Guest quitZAUMMM

olha como q eu faria:

#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
char s1[100], s2[100];
printf("Digite uma Frase com 2 ou mais caracteres: ");
gets(s1);
strcpy(s2,s1);
strrev(s1);
if(!strcmp(s1,s2)) printf("Palindromo");
else               printf("não Palindromo");
printf("\n");
getch();
return 0;
}

Link para o comentário
Compartilhar em outros sites

  • 0

para saber se a inversao é exatamente igual ao q foi pedido, só fazer um loop e verificar cada caractere da palavra digitada com cada caractere da palavra inversa... se um caractere não for igual, já manda a msg na tela falando q não é e retorna -1. ex:

int i = 0;
while (palavra[i] != '')
{
if (palavra[i] != inversa[i])
{
printf("não é polindromo!");
return -1;
}
i++;
}
printf("é polindromo!");
return 0;

Link para o comentário
Compartilhar em outros sites

  • 0
para saber se a inversao é exatamente igual ao q foi pedido, só fazer um loop e verificar cada caractere da palavra digitada com cada caractere da palavra inversa... se um caractere não for igual, já manda a msg na tela falando q não é e retorna -1. ex:

int i = 0;
while (palavra[i] != '')
{
if (palavra[i] != inversa[i])
{
printf("não é polindromo!");
return -1;
}
i++;
}
printf("é polindromo!");
return 0;

num presisa de loop não...

na biblioteca string.h você encontra uma função q compara duas strings.

strcmp(string1,string2);

ela retorna 0 se as strings forem iguais e outro valor se forem diferentes.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...