LDC

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <stdlib.h> #include <conio.h> typedef struct estru { int numero; struct estru *prox; struct estru *ant; }lista; lista *r,*p,*q,*ini2,*ini = NULL; void INSERE (int VALOR){ p = (lista *) malloc(sizeof(lista)); if(ini == NULL) ini = p; else { q->prox = p; p->ant = q; ini->ant= p; } p->numero = VALOR; p->prox = ini; q = p; } int main() { int i,divi; for (i=0;i<10;i++) INSERE(i); p = ini; q = p; while(p->prox != ini){ printf("%d ->", p->numero); p = p->prox;} printf("%d -> Voltou ao inicio ", p->numero); p = ini; q = p; //Primeira Lista printf("\n Digite a posicao para dividir a lista... "); scanf("%d",&divi); for (i=0;i<divi;i++) { q=p; p = p->prox; ini->ant = q; } q->prox = ini; q=ini; ini2=p; r=p; while(q->prox != ini){ printf("%d ->", q->numero); q = q->prox;} printf("%d -> Voltou ao inicio ", q->numero); for(i=0;i<4;i++) { printf("%d ->", q->numero); q = q->ant; } printf("%d -> Voltou ao inicio ", q->numero); //Segunda Lista for(i=0;i<4;i++) { r = r->prox; ini2->ant = r; } r->prox = ini2; r=ini2; while(r->prox != ini2){ printf("%d ->", r->numero); r = r->prox;} printf("%d -> Voltou ao inicio ", r->numero); return 0; free(p); free(r); }
Editor Settings
Theme
Key bindings
Full width
Lines