PALINDROME
Publicado por Thiago 07/04/2006
[ Hits: 11.650 ]
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; } } }
Máximo Divisor Comum (algoritmo de Euclides)
Jogo: Acerte o número (com níveis de dificuldade)
Estrutura condicional ternária
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Programa duplicado no "Abrir com" e na barra de pesquisa do ... (1)
VMs e Interfaces de Rede desapareceram (13)
Como abrir o pycharm no linux [RESOLVIDO] (4)