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

Interseção Lista


wrodrigounb

Pergunta

Boa tarde foristas!

Gostaria da ajuda de vocês para terminar um código.

Faça um programa que leia duas listas duplamente encadeadas e crie uma lista que seja a

intersecção das duas primeiras.

#include<stdio.h>  
#include<stdlib.h>

    struct elemento {
     char c, chave;
     struct elemento *pinicio, *prox, *ant, *p1, *p2;
     };
    
void construir1(struct elemento **pinicio);
void construir2(struct elemento **pinicio);

int main() {
    
    struct elemento *pinicio;
     construir1(&pinicio);
     construir2(&pinicio);
    
    system("PAUSE");
return 0;
}

void construir1(struct elemento **pinicio) {
    FILE *arq;
    struct elemento *p1, *p2;
    char chave;
    arq = fopen ("t1.txt", "r");
    *pinicio = NULL;
    while ((chave = getc (arq)) != EOF) {
    if (chave != '\n'){
    p1 = malloc (sizeof (struct elemento));
    p1->dado = chave;
        if (*pinicio == NULL) {
        p1->prox = p1;
        p1->ant = p1;
        *pinicio = p1;
        printf(" \n\n    FUNCAO CONSTRUIR1\n\n");
        printf("Construir1: %c\n\n", chave);
        } else {
            p1->prox = *pinicio;
            p1->ant = (*pinicio)->ant;
            (*pinicio)->ant->prox = p1;
            (*pinicio)->ant = p1;
            *pinicio = p1;
            printf("Construir1: %c\n\n", chave);
    }
    }
    }
    fclose (arq);
return;
}

void construir2(struct elemento **pinicio) {
    FILE *arq;
    struct elemento *p1, *p2;
    char c;
    arq = fopen ("t1.txt", "r");
    *pinicio = NULL;
    while ((c = getc (arq)) != EOF) {
    if (c != '\n'){
    p1 = malloc (sizeof (struct elemento));
    p1->dado = c;
        if (*pinicio == NULL) {
        p1->prox = p1;
        p1->ant = p1;
        *pinicio = p1;
        printf("\n\n    FUNCAO CONSTRUIR2\n\n");
        printf("Construir2: %c\n\n", c);
        } else {
            p1->prox = *pinicio;
            p1->ant = p2;
            p2->prox = p1;
            (*pinicio)->ant = p1;
            }
            p2 = p1;
            printf("Construir2: %c\n\n", c);
            }
    }
    fclose (arq);
return;
}

A parte da FUNÇÃO INTERSECÇÃO, não estou conseguindo fazer( :wacko: ). Alguém poderia me dar ao menos um "caminho"?

Grato.

W. Rodrigo

Graduando - CiC

Universidade de Brasília

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,2k
    • Posts
      652k
×
×
  • Criar Novo...