Baixe o app para aproveitar ainda mais
Prévia do material em texto
Créditos: Otávio da Silva Cavalcante #include<stdio.h> #include<stdlib.h> typedef struct pilha1{ int x[300]; int topo1; }; struct pilha1 p1; typedef struct pilha2{ int x[300]; int topo2; }; struct pilha2 p2; typedef struct pilha3{ int x[600]; int topo3; }; struct pilha3 p3; typedef struct pilha4{ int x[600]; int topo4; }; struct pilha4 p4; int n, t, i=0, j=0, g=0; void inserirp1 () //função cria pilha 1 { puts("\nDigite os valores da pilha 1:\n"); for(i=0; i<t; i++){ scanf("%d", &n); p1.topo1++; p1.x[p1.topo1]=n;}} void inserirp2() { puts("\nDigite os valores da pilha 2:\n"); for(i=0; i<t; i++){ scanf("%d", &n); p2.topo2++; p2.x[p2.topo2]=n;}} void mostrarp3(){ //mostra pilha 3 printf("\nPilha 3:\n"); for(i=0; i<t*2; i++){ Créditos: Otávio da Silva Cavalcante printf("\nposicao[%d]=> %d\n", i, p3.x[i]);}} int Pilha3(){ // função cria pilha 3 for(g=0; g<=t; g++){ for(i=0; i<=t*2; i++){ if(p1.x[p1.topo1]==p3.x[i]){ j=1;}} if(j==0){ p3.x[p3.topo3]++; p3.x[p3.topo3]=p1.x[p1.topo1]; p1.x[p1.topo1]--;} if(j>0){ p4.x[p4.topo4]++; p4.x[p4.topo4]=p1.x[p1.topo1]; p1.x[p1.topo1]--;} j=0; for(i=0; i<=t*2; i++){ if(p2.x[p2.topo2]==p3.x[i]){ j=1;}} if(j==0){ p3.x[p3.topo3]++; p2.x[p2.topo2]=p3.x[p3.topo3]; p2.x[p2.topo2]--;} if(j>0){ p4.x[p4.topo4]++; p4.x[p4.topo4]=p2.x[p2.topo2]; p2.x[p2.topo2]--;}} mostrarp3(p3);} void mostrarp12(){ //mostra pilha 1 e 2 printf("\nPilha 1:\n"); for(i=0; i<t; i++){ //monstra pilha 1 printf("\nposicao[%d]=> %d\n", i, p1.x[i]);} printf("\nPilha 2:\n"); for(i=0; i<t; i++){ //mosntra pilha 2 printf("\nposicao[%d]=> %d\n", i, p2.x[i]);} } void mostrarp4(){ //mostra pilha 3 printf("\nPilha 4:\n"); Créditos: Otávio da Silva Cavalcante for(i=0; i<t*2; i++){ printf("\nposicao[%d]=> %d\n", i, p4.x[i]);} } void main() { p1.topo1=-1; p2.topo2=-1; p3.topo3=-1; p4.topo4=-1; printf("Qual o tamanho da pilha 1 e pilha 2?\n"); scanf("%d", &t); inserirp1(); // cria pilhas 1 inserirp2(); // cria pilha 2 mostrarp12(); //mostra pilha 1 e 2 Pilha3(); //chama função que cria pilha 3 //mostrarp3(); //mostra pilha 3 mostrarp4(); system("PAUSE"); }
Compartilhar