Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) [Dúvida] Manipulação de string em um vetor


Glauco Machado

Pergunta

Eu aqui de novo!! :D . Eis a questão agora:

-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ê-la.

Tentei o seguinte código:

Program Exercicio_9;
 Var
     frase: array [1..10] of string;
     i: integer;
 Begin
     for i := 1 to 10 do
     read (frase[i]);
     
     for i := 1 to 10 do
         if frase[i] = ' ' then
         begin
             frase[i] := frase[i + 1];
             frase[i + 1] := ' ';
         end;
     for i := 1 to 10 do
     write (frase[i]);
 End.

Ele retira os espaços em branco, sim, porém eu tenho que digitar 10 frases em vez de uma :(

Como faço para o programa terminar a leitura do vetor quando eu pressionar ENTER?

Obrigado.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Cheguei a este código, mas ainda 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

Link para o comentário
Compartilhar em outros sites

  • 0
Cheguei a este código, mas ainda tá errado!

O programa só elimina o 1° espaço em branco e faz a conta errada.

Glauco Machado ... isso é um execício de escola, vi que voce postou em outros foruns tambem

o correto é voce tentar conseguir fazer sozinho ... é justamente o fato de voce pensar em como resolver é que vai desenvolver o seu raciocínio lógico

mas vou te dar uma ajudinha

Var 
  frase, result: string;
  i, count: integer;
Begin
  count := 0;
  result := '';
  readln(frase);

  for i := 1 to Length(frase) do
  begin
    if (frase[i]) = ' ' then
      Inc(count)
    else
      result := result + frase[i];
  end;

  writeln ('Frase modificada: ', result);
  writeln ('A frase continha ', count, ' espaços em branco.');

end.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, Jhonas, é um exercício. Eu pus a questão lá em cima no 1° post.

Pedi ajuda porque não tava conseguindo resolver mesmo e sei q compreendendo este vou ter base para resolver outros.

Muito obrigado novamente. O programa está rodando redondinho.

Nas próximas dúvidas minhas você pode me dar dicas de como resolver em vez de fornecer o código pronto. Também será de grande valia, pois vai me auxiliar no raciocínio.

Obrigado e até a próxima. :D

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...