Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Filipe_Moraes

Contar vogais!

Recommended Posts

Olá, preciso fazer um trabalho, mas não consigo de jeito nenhum!! é o seguinte:Preciso crias uma aplicação no PASCAL, juntamente com uma unidade, que permita contar o número de vogais de um arquivo de texto.A aplicação deve, no final, apresentar o número de a(s), e(s), i(s), o(s), u(s).Não sei como fazer, por isso, agradecia a resposta!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo darei a logicavocê faz um for de 1 a length de frase saca?for:= 1 to length frase dobegin if (copy(frase,i,1)= 'a') or copy(frase,i,1)='e' or copy(frase,i,1)='i' or copy(frase,i,1)='o' or copy(frase,i,1)='u' then contvogal:=contvogal+1;end;explicando... o for "varre" a frase letra por letra e o if verifica se é vogal, sendo vogal o contador incrementa uma unidade!bem amigo é isso aeeespero ter ajudadoposta o seu result aeee...PS. nao testei ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma outra forma:

 

function TForm1.ContaVogais(str: string): integer;var	ret, x: integer;beginret:=0;str:=AnsiUpperCase(str);for x:=1 to length(str) do	if str[x] in ['A','E','I','O','U'] then		Inc(ret);ContaVogais:=ret;end;

no caso você tb não deve de esquecer de tratar os ascentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo darei a logicavocê faz um for de 1 a length de frase saca?for:= 1 to length frase dobegin if (copy(frase,i,1)= 'a') or copy(frase,i,1)='e' or copy(frase,i,1)='i' or copy(frase,i,1)='o' or copy(frase,i,1)='u' then contvogal:=contvogal+1;end;explicando... o for "varre" a frase letra por letra e o if verifica se é vogal, sendo vogal o contador incrementa uma unidade!bem amigo é isso aeeespero ter ajudadoposta o seu result aeee...PS. nao testei ok?

Na verdade esse código funciona, mas te traz o numero total de vogais, se você quer o numero de cada vogal, você tem q criar as variáveis assim:Var a, e, i, o, u : integer;zera as variaveis A:= 0; E:= 0; ...e fazer a chegagem independente, transforma td pra maiusculo e pode usar uma outra função pra retirar os acentos se necessário.if upperCase(copy(frase,i,1) ) = 'A' then A := A+1else if upperCase(copy(frase,i,1) ) = 'B' then E := E+1 else if ... e assim por dianteno final você vai ter o total de cada variavel

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.