Ir ao conteúdo
  • Cadastre-se

magneel

Membro Júnior
  • Posts

    15
  • Cadastrado em

  • Última visita

posts postados por magneel

  1. Comecei a fazer um programa de lista encadeada, mas quando uso a função imprimir, ele não estava imprimindo nada, dai decobri que a LISTA depois que sai da função insere, ela volta a ter o valor NULL e eu não sei porque.

    #include <stdio.h>
    #include <stdlib.h>
    
    struct Node {
     int num;
     struct Node *prox;
    };
    typedef struct Node node;
     
    node* aloca();
    void inicia(node *LISTA);
    void insere(node *LISTA, int val);
    void imprime(node *LISTA);
    
    int main(void) {
      node *LISTA = NULL;
      inicia(LISTA);
      insere(LISTA, 10);
      insere(LISTA, 20);
      insere(LISTA, 5);
      imprime(LISTA);
    
      return 0;
    }
    
    node* aloca() {
      node *LISTA = (node *)malloc(sizeof(node));
      return(LISTA);
    }
    
    void inicia(node *LISTA) {
      LISTA = NULL;
    }
    
    void insere(node *LISTA, int val) {
      node *p1 = aloca();
      node *p2;
      
      p1->num = val;
      p1->prox = NULL;
    
      if (LISTA == NULL) {
        LISTA = p1;
      }else {
        p2 = LISTA;
        while (p2->prox != NULL) {
          p2 = p2->prox;
          p2->prox = p1;
        }
      }
    }
    
    void imprime(node *LISTA) {
      node *tmp;
      tmp = LISTA;
      while(tmp != NULL) {
        printf("%d", tmp->num);
        tmp = tmp->prox;
      }
    }

     

  2.  

    Saudações magneel, acredito ter um erro na seguinte parte do código:

    essa parte do código está fazendo na verdade com que o novo vetor receba em todos os índices, todos os números contidos no vetor antigo e por fim o que fica em cada posição do vetor novo é o ultimo numero do vetor antigo. Exemplo:

     

    Se o vetor lido for: 1 2 3 4 5 6 7 8 9 10.

    E o número a ser excluido seja 2.

     

    A cada iteração do laço mais externo 'j', ocorrerão 10 iteraçãos do laço mais interno 'i'.

    Fazendo com que v[j] receba todos os números diferentes de 2 do vetor lido, até terminar com v[j] recebendo sempre o último número deste vetor que no exemplo dado é o número 10.

     

    Logo o programa terminaria com o vetor novo com o seguinte conteúdo: 10 10 10 10 10 10 10 10 10 .

     

    Um loop apropriado para a situação seria o seguinte:

    j <- 1 //lembrando de declarar j previamente na seção corretapara i de 1 ate 10 faca     se n <> v[i] então  //sinal de diferente em VisuAlg não é != e sim <>. Leiam o então sem o ~ não está entrando sem ele rs.        v2[j] <- v[i]        j <- j+1     fimsefimpara

    Verdade... Obrigado por me corrigir, falha mimnha

  3. 
    

    algoritmo "semnome"

    var

    v: vetor [1..10] de inteiro

    v2: vetor[1..9] de inteiro //Segundo vetor que vai até 9, pois um numero sera excluido

    i, n: inteiro

    inicio

    para i de 1 ate 10 faca

    leia (v)

    fimpara

    escreva ("Digite um numero para ser excluido do vetor: ")

    leia (n)

    escreval()

    para j de 1 ate 9 faca

        para i de 1 ate 10 faca

            se n != v então           //Aqui verifica quis são os diferentes do numero digitado

                v2[j] <- v     //Aqui você adiciona os numeros

            fimse

        fimpara

    fimpara

    para i de 1 ate 9 faca

        escreva (v2)

    fimpara

    fimalgoritmo

  4. Para começar a entender logica de programação, recomendo aprender primeiro o portugol... É uma linguagem em portugues que só serve pra isso mesmo, entede como funciona a lógica da programação. Depois tu migra pra uma outa linguagem.

    O site que eu achava bom para aprnder o portugol não existe mais, então vou te passar esse vídeo, não sei se é bom... 

    • Curtir 1

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!