• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

suzy

strings, adicionar palavra no meio de uma frase

3 mensagens neste tópico

:cheesygrin:

malta, viva ;),mais uma vez duvidas em strings :-[

ja tentei varias vezes, fazer, mas nao consigo :-[, erro , atras de erro.

Desenvolva uma função que insira uma palavra no meio de uma frase. A frase é um

conjunto de palavras separadas por um ou mais espaços A função deve receber por

argumento uma frase, uma palavra e um valor inteiro positivo. Este valor indica qual

é a posição da tabela frase a partir da qual a nova palavra deve ser inserida.

Exemplo:

Se função for chamada com o valor 16 e duas tabelas (frase e palavra) com

o conteúdo:

"A Pizzaria Pepe serve pizzas muito quentes." e

"Verde",

Na primeira tabela (frase) deve ficar guardada a seguinte informação:

"A Pizzaria Pepe Verde serve pizzas muito quentes."

posso fazer um ciclo, ate ao valor inteiro que o utilizador colocar, para obter a frase ate ao valor descrito, agora como copio esse valor para outra string??? com o strcpy nao da :hmm: neste caso.

alguem tem ideias de como eu fazer isto? qual o algoritmo? :cheesygrin: muito obrigada

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1º tens que ter a certeza que há espaço suficiente para todos os caracteres no array;

2º tens que fazer deslizar para a frente os caracteres que estão nas posições onde vais escrever a nova palavra e os que estão à frente desses;

Por último, é copiares a nova palavra para o sitio, tendo em atenção a adição de espaços onde necessário.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ela agradeceria por lhe teres feito o trabalho. Isto se o teu código estivesse correcto. Porque fazer strncpy e sprintf para char* que apontam para NULL não é boa ideia.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora