Ir para conteúdo

Arquivado

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

elimadasilva

inserir cadeia de caracteres no meio de uma lista

Recommended Posts

Bom dia, estou tentando fazer um algoritimo que contenha meu primeiro nome e o ultimo e um função para inserir o nome do meio.

mas não consigo fazer a função do para inserir no meio. alguem pode ajudar?

segue até onde consegui.

nome: ELIANE LIMA DA SILVA

tenho que inserir o lima

#include <stdio.h>
#include <stdlib.h>
struct nome
{
char letra;
struct nome *proximo;
};
typedef struct nome Nome;
/*função de criação retorna uma lista vazia*/
Nome* cria_lista(void)
{
return NULL;
}
/*função de inserção no início retorna uma lista atualizada*/
Nome* retorna_lista(Nome* lista,char valor)
{
Nome* novo = (Nome*)malloc(sizeof(Nome));//alocando memoria do tamanho da minha estrutura nome//
novo -> letra = valor;
novo -> proximo = lista;
return novo;
}
/* função imprime: imprime valores dos elementos */
void imprime_lista (Nome* lista)
{
Nome* p;
for (p = lista; p != NULL; p = p->proximo)
{
printf("%c", p->letra);
}
}
int main(void)
{
Nome* minhaLista;
minhaLista = cria_lista();/* declara uma lista não inicializada */
minhaLista = retorna_lista(minhaLista, 'A'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'V'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'L'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'I'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'S'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, ' '); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'E'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'N'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'A'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'I'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'L'); /* insere na lista o elemento */
minhaLista = retorna_lista(minhaLista, 'E'); /* insere na lista o elemento */
imprime_lista(minhaLista);
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Precisa implementar um método para buscar caracteres na tua lista.

No seu caso, procure pela primeira ocorrencia de ' ' (espaço em branco) e insera a string "LIMA " na posição seguinte.

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.