Anakin RIbeiro 0 Denunciar post Postado Junho 5, 2016 Seguinte. Criei um algoritimo em que o usuario digita uma frase de até 10 caracteres e ao final o sistema deve informar quantos caracteres diferentes foram digitados. Exemplo: Se for digitado "aaaaaaaaaa" o sistema deve informar q foi digitado 1 caracter. Se for digitado "abcdefghij" o sistema deve informar que foram digitados 10 caracteres diferentes. Consegui fazer o algoritimo utilizando vetores e a tabela ASCII, onde cada caracter possui um numero decimal. O Problema surge quando o usuario digita o mesmo caracter 2 ou mais vezes porém uma vez Maiuscula e uma vez minuscula. Exemplo: Se for digitado a palavra "teste", o sistema ira mostrar que foram digitados 3 caracteres diferentes, porém se for digitado "Teste" ira mostrar que foram digitados 4 diferentes, pois na tabela ASCII o caracter "t" tem o código 116, e o caracter "T" o código 84. Preciso fazer com que o algoritimo iguale o t minusculo e o T maiusculo. Alguém? var frase: caractere vetQ: vetor [1..256] de inteiro numASC, posfrase, resultado: inteiro inicio // Seção de Comandos repita leia(frase) se (compr(frase)=0) ou (compr(frase)>10) entao escreval ("ERRO:A frase deve ter no maximo 10 caracteres!") fimse ate (compr(frase)>0) e (compr(frase)<=10) para numASC de 32 ate 126 faca para posfrase de 1 ate compr(frase) faca se numASC = ASC (COPIA(frase,posfrase,1)) entao vetQ[numASC] <- (vetQ[numASC] + 1) fimse fimpara fimpara para numASC de 32 ate 126 faca se (vetQ[numASC] > 0 ) entao resultado <- resultado + 1 fimse fimpara escreva("A frase contem",resultado," diferentes.") fimalgoritmo Compartilhar este post Link para o post Compartilhar em outros sites
snowstormdelivery 19 Denunciar post Postado Junho 6, 2016 Eu achei uma relação entre o número decimal de cada um, na tabela ASCII: toda letra minúscula possui sua maiúscula, 32 decimais à frente.Tendo essa diferença em comum, o que podes fazer? Compartilhar este post Link para o post Compartilhar em outros sites
Marceline 0 Denunciar post Postado Junho 8, 2016 var frase: caractere vetQ: vetor [1..256] de inteiro numASC, posfrase, resultado: inteiro inicio // Seção de Comandos repita leia(frase) se (compr(frase)=0) ou (compr(frase)>10) entao escreval ("ERRO:A frase deve ter no maximo 10 caracteres!") fimse ate (compr(frase)>0) e (compr(frase)<=10) para numASC de 32 ate 126 faca para posfrase de 1 ate compr(maiusc(frase)) faca se numASC = ASC (COPIA(frase,posfrase,1)) entao vetQ[numASC] <- (vetQ[numASC] + 1) fimse fimpara fimpara para numASC de 32 ate 126 faca se (vetQ[numASC] > 0 ) entao resultado <- resultado + 1 fimse fimpara escreva("A frase contem",resultado," diferentes.") Fimalgoritmo --------------------------------------------------------------------------------------------- Funciono aqui. Compartilhar este post Link para o post Compartilhar em outros sites