grmachado 0 Denunciar post Postado Março 29, 2010 Estou tentando resolver este problrma: -Leia um vetor contendo letras de uma frase inclusive os espaços em branco. Retirar os espaços em branco do vetor e depois escrevê-lo e contar os espaços em branco. Cheguei a este código, mas tá errado! O programa só elimina o 1° espaço em branco e faz a conta errada. Alguém tem alguma sugestão? Program Exercicio_9; Var frase:string[51]; i, cont:integer; Begin cont := 0; readln (frase); for i := 1 to 20 do if (frase[i]) = ' ' then begin frase[i] := frase[i + 1]; frase[i + 1] := ' '; cont := cont + 1; end; writeln ('Frase modificada: ', frase); writeln ('A frase continha ', cont, 'espaços em branco.'); End. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
itepi 0 Denunciar post Postado Março 29, 2010 Se eu entendi bem o que você queria o seu código deve ser : Var frase, novaFrase: string; i, cont: integer; Begin cont := 0; novaFrase := ''; readln(frase); for i := 1 to lenght(frase) do begin if (frase[i]) = ' ' then begin Inc(count); end else begin novaFrase := novaFrase + frase[i]; end; end; writeln ('Frase modificada: ', novaFrase); writeln ('A frase continha ', cont, 'espaços em branco.'); end. Qualquer dúvida a respeito do código posta ai. Obs.: Não compilei pra testar, escrevi diretamente aqui no fórum, então qualquer erro de sintaxe me desculpe. Compartilhar este post Link para o post Compartilhar em outros sites
grmachado 0 Denunciar post Postado Março 29, 2010 itepi, retornou o seguinte: "Erro semântico na linha 9..." for i := 1 to lenght(frase) do"Função inválida na expressão!" Tem ideia do que pode ser? O programa tem que retirar os espaços em branco da frase (deixartudojunto) e contar quantos espaços em branco há. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
itepi 0 Denunciar post Postado Março 29, 2010 Mals grmachado, erro meu, erro de sintaxe agora eu testei =P Tente : Var frase, novaFrase: string; i, count: integer; Begin count := 0; novaFrase := ''; readln(frase); for i := 1 to Length(frase) do begin if (frase[i]) = ' ' then begin Inc(count); end else begin novaFrase := novaFrase + frase[i]; end; end; writeln ('Frase modificada: ', novaFrase); writeln ('A frase continha ', count, ' espaços em branco.'); end. Compartilhar este post Link para o post Compartilhar em outros sites
grmachado 0 Denunciar post Postado Março 29, 2010 Itepi, seu programa rodou bonito, mas eu comecei errado, desculpe. O enunciado diz: "Leia um vetor contendo letras de uma frase inclusive os espaços...", eu declarei uma string. Como faria para substituir? Obrigado e desculpe meu erro. Compartilhar este post Link para o post Compartilhar em outros sites
grmachado 0 Denunciar post Postado Março 29, 2010 Pode por como resolvido, por favor. Obrigado, itepi. abraço. Compartilhar este post Link para o post Compartilhar em outros sites