Lista duplamente encadeada - função inserção (Linguagem C)
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;
}Discussão (2)
Carregando comentários...