Ir para conteúdo
Fórum Script Brasil

Raist

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre Raist

Raist's Achievements

0

Reputação

  1. Eu desaconselho fortemente o uso de apostilhas para aprender programação ou alguma linguagem especifica. Para começar nada melhor do que pegar um bom livro de um bom autor, além de ser mais completo e abrangente, quase sempre é mais atrativo de se ler. Sobre a linguagem C++ eu não saberei te recomendar algum com segurança, mas caso tenha interesse na linguagem C eu posso te ajudar. []'s
  2. Vamos por partes: 1° - Usa-se %lf para double no scanf. %f é para float. 2° - Antes de tentar colocar algum valor na sua variável *poli, você primeiro deve alocar espaço em memória para ela, coisa que você só faz após isso. 3° - Você precisa atribuir algum valor a sua variável grau antes de colocá-la como condição no for, pois caso contrário ela irá conter lixo de memória.
  3. Você declarou *poli como int e quer alocar um espaço de memória para o tipo double nele.
  4. Raist

    Loop + Lógica

    Você não explicou muito bem. A cada rodada do loop, ele deve fazer todas essas instruções ou fará apenas a primeira quando o iterador for 2 e a segunda quando o iterador for 1 ? Se for para fazer todas, aqui vai uma possível resolução: for(i = 2; i >= 0; i--){ x[i] = mat[i][3] / mat[i][i]; x[i] = mat[i][3] - (x[2]*mat[i][2]) / mat[i][1]; x[i] = mat[1][3]-((x[2]*mat[i][2])+(x[1]*mat[i][1])) / mat[i][i]; }
  5. Opa, tudo jóia ? Então, alguns erros que eu notei dando uma olhada rápida: 1º - Você está considerando que o Arvore->Item seja char nas funções xxxOrdem, sendo que ele é int. 2º - Esse é o seu principal erro, quando você aloca memória na função insere_elemento(), você está alocando para a variável *p, e não para a árvore. Basta mudar o código para esse: if(*arvore == NULL){ (*arvore) = (TREE *)malloc(sizeof(TREE)); (*arvore)->item = item; (*arvore)->esq = NULL; (*arvore)->dir = NULL; Vou tentar te explicar o que ocorre com esse erro. Primeiro você declara a variável *p, depois atribui o endereço de *arvore nela. Só que quando você aloca memória para *p, você simplesmente perde a referencia que tinha da variável *arvore e coloca um outro endereço para a variável *p. Isso não aconteceria se você fizesse algo assim: p->left = malloc(); pois aí sim você está dando um endereço de memória para um ponteiro que está na variável *arvore. Se houver algo de errado além disso no seu código é só dar um toque aqui que eu dou uma olhada para você, mas olhando superficialmente é só isso mesmo. []'s
  6. Aparentemente você está pegando lixo de memória, caso queira que o elemento fique zerado é só fazer um else com essa instrução. Caso eu tenha entendido errado o que você quis dizer, explique mais detalhadamente o que está acontecendo. []'s
×
×
  • Criar Novo...