PALINDROME
Publicado por Thiago 07/04/2006
[ Hits: 11.824 ]
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; } } }
Uma pequena "CALCULADORA" (apenas SOMA).
Parte 7 - Sessão de estudo sobre VETORES
Nenhum comentário foi encontrado.
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Desktop Linux ganha novos apps enquanto IA invade o noticiário
Blender 5.0 Beta, Firefox 144 e avanço da IA dominam o dia no mundo Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Baixar jogos Independentes para Ubuntu [RESOLVIDO] (4)
PIP3 - erro ao instalar módulo do mariadb para o Python (1)
Linux x Plataformas de Trading - um problema (in-)solúvel? (4)