Ir ao conteúdo
  • Cadastre-se

Ajuda com programa em C


Posts recomendados

Pessoal, estou com problemas não estou conseguindo fazer um programa, não sei nem por onde começar. Segue o exercício:

 

Sua tarefa é escrever um programa para fazer a formatação automática de um
texto. O programa deve receber um texto de entrada com palavras separadas por apenas
um único branco e as linhas justificadas a esquerda, o programa transforma o texto em um
texto justificado à direita e também à esquerda. 
 
Link para o comentário
Compartilhar em outros sites

Se você abrir o word e digitar um texto qualquer e alinhar ele a direita, vai conseguir entender a lógica desse problema.

Ex:

 

12345....123456789123......

 

....12345123456789......123

 

Imagine que os pontos são espaços em branco, certo.

No primeiro texto, justificado a esquerda, você tem uma linha com 5 caracteres, outra com 9 e uma com 3. Então o maior tamanho de linha é 9.

Pra justificar eles a direita, basta preencher com espaços as linhas que tiverem menos de 9 caracteres com (9 - N) espaços em branco... onde N é o tamanho da linha.

 

Então na primeira linha, que tem tamanho 5, você coloca (9 - 5) espaços em branco no começo.

Na segunda linha, coloca (9 - 9) espaços em branco.

Na terceira linha, coloca (9 - 3) espaços em branco.

Link para o comentário
Compartilhar em outros sites

Se você abrir o word e digitar um texto qualquer e alinhar ele a direita, vai conseguir entender a lógica desse problema.

Ex:

12345....123456789123......
....12345123456789......123
Imagine que os pontos são espaços em branco, certo.

No primeiro texto, justificado a esquerda, você tem uma linha com 5 caracteres, outra com 9 e uma com 3. Então o maior tamanho de linha é 9.

Pra justificar eles a direita, basta preencher com espaços as linhas que tiverem menos de 9 caracteres com (9 - N) espaços em branco... onde N é o tamanho da linha.

Então na primeira linha, que tem tamanho 5, você coloca (9 - 5) espaços em branco no começo.

Na segunda linha, coloca (9 - 9) espaços em branco.

Na terceira linha, coloca (9 - 3) espaços em branco.

Tem que justificar a direita e a esquerda ao mesmo tempo.

Link para o comentário
Compartilhar em outros sites

Mesma lógica. Em vez de colocar os espaços em branco no início ou no fim da frase, você os coloca entre palavras.

 

Se uma frase tem 3 palavras, então ela tem 2 locais pra preencher com espaços em branco ("123 [espaço] 456 [espaço] 789").

Basta dividir o número de espaços em branco pelo número de locais entre palavras e alocar eles.

Se o resto da divisão for diferente de zero, daí você cria uma regra própria pra distribuir os espaços restantes.

123.456.789.012345 // maior frase, com tamanho 1812345...6789...012 // tamanho 12, (18 - 12) = 6 espaços em branco, 3 espaços entre cada palavra12......34......56 // tamanho 6, (18 - 6) = 12 espaços em branco, 6 espaços entre cada palavra
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...