PALINDROME
Publicado por Thiago 07/04/2006
[ Hits: 11.718 ]
Este pequeno programa verifica se uma string de no máximo 50 caracteres é palíndrome ou não.
Palíndrome é a palavra que quando lida de frente para trás e de trás para frente tem a mesma senquência de caracteres.
Ex: ARARA
Sugestões serão bem vindas.
/************************** Programa: palindrome.c Autor: thiagoamm Data: 02/04/06 ***************************/ /* Bibliotecas */ #include <stdio.h> #include <stdlib.h> #include <string.h> /* Cabecalho de funcoes e sub-rotinas */ void verifica(char *str, int tam, int *cond); /* Funcao principal */ int main(void) { char string[50],continua; int condicao,tamanho; do { condicao = 1; printf("\nInforme a palavra a ser verificada: "); fflush(stdin); fgets(string,50,stdin); /* Tamanho da string meno o '{FONTE}' */ tamanho = strlen(string) - 1; printf("\n --> Tamanho da string: %i\n",tamanho); /* Invocando sub-rotina */ verifica(string,tamanho,&condicao); if (condicao != 0) printf("\n\n--> PALINDROME \n\n"); printf("\nDeseja continuar (s/n) ? "); fflush(stdin); continua = getchar(); } while (continua == 's' || continua == 'S'); printf("\n\n"); return(0); } /* ********************** Sub-rotina verifica ********************** Responsavel por verificar se uma string e palindrome. Uma string e palindrome quando tem a mesma sequencia de caracteres lida em ordem natural e em ordem inversa. A logica desenvolvida consiste em dividir a string ao meio, e utilizar dois contadores para indexa-la. O primeiro contador percorre a string do inicio ate sua metade. O segundo contador a percorre do fim ate sua metade. Sao comparadas as posicoes indexadas pelo primeiro e segundo contador e caso alguma seja diferente o laco (estrutura de repeticao) e imediatamente interrompido. */ void verifica(char *str, int tam,int *cond) { int i,j,metade_str; j = tam - 1; metade_str = (tam - 1) / 2; for (i = 0; i <= metade_str; i++, j--) { /* Comparacao para strings de tres caracteres ou mais */ if (str[i] != str[j]) { *cond = 0; break; } } }
Ordenação de vetor pelo método Bubblesort
Soma dos dígitos de um número decimal
Aprendendo a usar classes em C++
Jogo da velha, para 2 jogadores, bem simples
Nenhum comentário foi encontrado.
Como gerar um podcast a partir de um livro em PDF
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Conheça a 4Devs, caixa de ferramentas online para desenvolvedores
Como converter um vídeo MP4 para um GIF para publicar no README.md do seu repositório Github
Como Instalar o Microsoft Teams no Linux Ubuntu