Ir para conteúdo

POWERED BY:

Arquivado

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

Bruno Pacheco

Lista duplamente encadeada - função inserção (Linguagem C)

Recommended Posts

Olá! Estou com dificuldades nesse código. Eu queria primeiramente fazer uma função inserção com lista duplamente encadeada usando esse código abaixo. Como posso fazer isso?

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_GRUPO 4

struct selecao {
	char time[100];
	int pontos;
	
};


int main()
{
	struct selecao grupo_a[4]; //grupo a montado
	char jogo_copa[64][200]; //total de jogos da copa
	int i = 0, j = 1, h = 0;
	char entrada[30];

	printf("PROGRAMA COPA DO MUNDO 2010.\n");

	for (i = 0; i < MAX_GRUPO; i++) { //GRUPO A
		printf("Digite o nome da seleção pertencente ao GRUPO A.\n");
		fgets(entrada, sizeof(entrada), stdin);
		entrada[strlen(entrada)-1] = '\ 0'; // só pra tirar a quebra de linha da string
		strcpy(grupo_a[i].time, entrada);
	}
	
	printf("\n\n");
	
 
 
        for (i = 0; i < 3; i++)    //quantidade de jogos de modo que não repita
        {
            for (j = i + 1; j < 4; j++)    //quantidade de adversários
            {
                strcpy(jogo_copa[h], grupo_a[i].time);
                if (strcmp(jogo_copa[h],grupo_a[j].time) != 0) //faz com que um time não jogue contra ele mesmo
                {
                    strcat(jogo_copa[h], " vs ");
                    strcat(jogo_copa[h], grupo_a[j].time);
                    printf("jogo[%d] = %s\n", h, jogo_copa[h]);
                  
                }
            }
        }
   
}

 

 

Esse jeito que eu fiz abaixo está correto se não o que devo fazer?

 


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

typedef struct part Partidas;
struct partidas{
int grupo_a[20],;

Partidas *prox;
Partidas *ant;
};




// insere elemento novo na lista
/*Inserção no início*/
Partidas *insere (Partidas *l, int grupo_a[]){
	Partidas *novo = (Partidas*) malloc(sizeof(Partidas));
	
	novo->codigo=i;
	novo->grupo_a.time[]=grupo_a.time[];
	novo->prox=l;
	novo->ant=NULL;

	/*não está vazia*/
	if (l!=NULL)
		l->ant=novo;

	return novo;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está afirmando se está correto ou perguntando??

você testou? alguma saída você obteve neh!

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

typedef struct part Partidas;
struct partidas{
int grupo_a[20],;

Partidas *prox;
Partidas *ant;
};

O que é part ? Não seria:

typedef struct part Partidas;
struct part{
int grupo_a[20];

Partidas *prox;
Partidas *ant;
}

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.