Ir ao conteúdo
  • Cadastre-se

Henrique Yoshiaki

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Tudo que Henrique Yoshiaki postou

  1. Boa noite, o código a seguir funciona com diversos testes que eu fiz, porém, ao enviar ao judge ele informa que o meu programa não passou em nenhum teste, por favor, poderiam me ajudar? O programa escaneia um número n de nós, sendo que 0<n<31; nas próximas n linhas, o programa escaneia três int, sendo o primeiro um identificador do nó, o segundo o identificador da sub árvore esquerda e o terceiro o identificador da sub árvore direita. Eu devo no final, printar em ordem crescente de cada identificador as seguntes informações: o pai, o irmão, o grau, o nível, a altura e o tipo do nó( que pode ser, raiz, interno ou folha), semelhante ao exemplo à seguir: "0: pai = 3, irmão = 4, grau = 2, nivel = 1, altura = 1, interno" #include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct { int id, esq, dir, pai, nivel, grau, altura; }No; typedef struct{ int raiz, N; No *Nos; }Arvore; void CriarArv(Arvore *A, int n){ A->Nos=malloc(n*sizeof(No)); } void InsereNo(Arvore *A, int id, int esq, int dir){ A->Nos[id].id=id; A->Nos[id].esq=esq; A->Nos[id].dir=dir; if (esq != -1) A->Nos[esq].pai=id; if (dir != -1) A->Nos[dir].pai=id; } void EncontraRaiz(Arvore *A){ int i; for (i=0; i<A->N; i++){ if(A->Nos[i].pai==-1 && A->Nos[i].id!=-1){ A->raiz=i; A->Nos[i].pai=-1; break; } } } int max(int a, int b){ if (a==b) return a; else if (a>b) return a; else return b; } int detAltura(Arvore *A, int id, int nivel){ if (id == -1) return -1; if (A->Nos[id].esq==-1 && A->Nos[id].dir==-1) A->Nos[id].grau=0; else if (A->Nos[id].esq!=-1 && A->Nos[id].dir!=-1) A->Nos[id].grau=2; else if (A->Nos[id].esq!=-1 || A->Nos[id].dir!=-1) A->Nos[id].grau=1; A->Nos[id].nivel=nivel; A->Nos[id].altura = max(detAltura(A, A->Nos[id].esq, nivel+1), detAltura(A, A->Nos[id].dir, nivel+1)) + 1; } int EncontraIrmao(Arvore *A, int id){ if (A->Nos[id].pai==-1) return -1; if (A->Nos[A->Nos[id].pai].esq == id) return A->Nos[A->Nos[id].pai].dir; if (A->Nos[A->Nos[id].pai].dir == id) return A->Nos[A->Nos[id].pai].esq; } char* defineTipo(Arvore *A, int id){ static char tipo[10]; if (A->Nos[id].pai==-1) strcpy(tipo, "raiz"); else if (A->Nos[id].esq==-1 && A->Nos[id].dir==-1) strcpy(tipo, "folha"); else strcpy(tipo, "interno"); return tipo; } void iniciarTudo(Arvore *A, int n){ int i = 0; for (i=0;i<n; i++){ A->Nos[i].pai=-1; A->Nos[i].dir=-1; A->Nos[i].esq=-1; A->Nos[i].id=-1; A->Nos[i].grau=0; A->Nos[i].altura=0; A->Nos[i].nivel=0; } } int main(){ int i, n, a, dir, esq, salva1; char salva2[10]; Arvore ab; scanf(" %d", &n); CriarArv(&ab, 31); ab.N=31; iniciarTudo(&ab, 31); for (i=0; i<n; i++){ scanf(" %d %d %d", &a, &esq, &dir); InsereNo(&ab, a, esq, dir); } EncontraRaiz(&ab); ab.Nos[ab.raiz].altura=detAltura(&ab, ab.raiz, 0); for (i=0; i<31; i++){ salva1=EncontraIrmao(&ab, i); strcpy(salva2, defineTipo(&ab, i)); if(ab.Nos[i].id!=-1){ printf("%d: pai = %d, irmão = %d, grau = %d, nivel = %d, altura = %d, %s\n", i, ab.Nos[i].pai, salva1, ab.Nos[i].grau, ab.Nos[i].nivel, ab.Nos[i].altura, salva2); } } return 0; } Obrigado desde já.
  2. Boa noite, pretendo comprar um computador novo, de preferência um que rode os jogos mais atuais ( e os proximos tambem) sem problemas. Não pretendo fazer um upgrade tão cedo e meu conhecimento sobre hardware é praticamente nulo. Fazendo uma pesquisa vi que a maioria das peças do site da Pichau são mais baratas que outros sites e tentei montar um computador que consiga rodar no high pelo menos a maioria dos jogos, mas não sei se as escolhas foram as melhores (principalmente em relação à placa-mãe) e gostaria de saber se é um bom negócio. PROCESSADOR INTEL CORE I5-4460 HASWELL, 3.2GHZ, 6MB, QUAD-CORE - BOX - R$1.077,30 COOLER CPU XIGMATEK RED SCORPION II SD1283, EN6688 - BOX - R$199,00 placa-mãe GIGABYTE GA-H81M-S1, INTEL LGA 1150 CHIPSET INTEL H81 - BOX - R$320,45 MEMORIA CORSAIR VENGEANCE 8GB (1X8) 1600MHZ DDR3, CMZ8GX3M1A1600C10B - BOX - R$302,05 PLACA DE VÍDEO ZOTAC GEFORCE GTX 970 4GB GDDR5 256BIT, ZT-90101-10P - BOX - R$1.883,69 HD WESTERN DIGITAL 1TB CAVIAR BLUE SATA III 3.5, WD10EZEX - OEM - R$339,78 SSD KINGSTON V300 120GB SATA III, SV300S37A/120G - BOX - R$313,53 LEITOR E GRAVADOR DVD-RW ASUS STYLISH DIAMOND, BLACK, SDRW-08D2S-U - BOX - R$129,76 GABINETE GAMER PCYES! JAVA PRETO COM VERDE - BOX - R$259,00 VENTOINHA G-FIRE 120MM GREEN COM LED VERDE, EW2252NGEX - BOX - R$22,36 FONTE XFX 600W XT BRONZE FULL WIRED 80+BRONZE, P1-600B-XTFR - BOX - R$343,64 O valor total foi de R$5.190,56 e com desconto à vista sai R$4.637,54. _____________________________________________________________________ Editado 28/01 Boa noite, obrigado pelas respostas. Tentei refazer minhas escolhas de acordo com suas sugestões e o preço final acabou sendo levemente mais barato. Quanto à placa-mãe h97, não havia no site para entrega então optei pela z97. Retirei o SSD, leitor optico e o cooler. Mudei o gabinete e a fonte, o resultado acaba sendo esse: http://www.pichau.com.br/processador-intel-core-i5-4460-haswell-3-2ghz-6mb-quad-core-box - R$948,02 http://www.pichau.com.br/placa-m-e-gigabyte-ga-z97m-d3h-chipset-z97-lga-1150-box - R$598,76 http://www.pichau.com.br/memoria-corsair-vengeance-8gb-1x8-1600mhz-ddr3-cml8gx3m1a1600c10-box - R$271,21 http://www.pichau.com.br/placa-de-video-zotac-geforce-gtx-970-4gb-gddr5-256bit-zt-90101-10p-box - R$1657,65 http://www.pichau.com.br/hd-western-digital-1tb-caviar-blue-sata-iii-3-5-wd10ezex-oem - R$299,01 http://www.pichau.com.br/gabinete-cougar-mx500-usb3-0-black-6hma-box - R$351,12 http://www.pichau.com.br/ventoinha-g-fire-120mm-com-led-azul-ew2252lgex1-box - R$21,12 http://www.pichau.com.br/fonte-xfx-500w-xt-bronze-full-wired-80-bronze-p1-500b-xtfr-box - R$263,99 Preço total com desconto à vista: R$4410,88 Se eu escolher a placa-mãe b85 como foi sugerido por alguns (http://www.pichau.com.br/placa-m-e-gigabyte-ga-b85m-d3ph-chipset-b85-lga-1150-box - R$349,01) o preço diminui mais, saindo por R$4161,13; E quanto à pergunta se eu vou montar ou pedir montado, como o preço das peças separadas e montado aparentemente deu o mesmo, eu preferia montado pois como eu ja disse eu não tenho experiencia nenhuma.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!