Jump to content

Search the Community

Showing results for tags 'lista encadeada'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 6 results

  1. juliaKrunker

    Lista Encadeada

    1- O comando typedef pode ser utilizado para criar novos comandos, ou simplesmente novas formas de escrever determinados comandos em linguagem C. Por exemplo, toda vez que você quiser criar uma variável do tipo struct declarado acima, terá que escrever o nome completo do tipo, isto é struct lista. Usando o comando typedef, defina um tipo alternativo, chamado Lista, que possa ser usado em lugar de struct lista. 2- Usando o tipo Lista que você criou na questão 3, declare uma variável chamada myList que possa ser utilizada para construir uma lista encadeada. 3- (0,5) Usando o tipo Lista que você criou na questão 3, declare uma variável chamada novo que possa ser utilizada para criar um novo elemento para a lista declarada na questão 4. 4- Escreva uma linha de código que aloque espaço na memória para a variável novo declarada na questão 5, de forma que a variável possa ser utilizada para inserir um novo elemento na lista myList declarada na questão 4. 5 -Considerando a variável myList declarada na questão 4 e a variável novo declarada na questão 5 e alocada na questão 6, atribua os valores 1 para o atributo id e 9.1 para o atributo valor e insira-a na lista myList. 6- O trecho de código apresentado a seguir, refere-se a uma função que receberá como parâmetro um ponteiro para uma lista do tipo Lista e deverá calcular e retornar a média dos valores existentes na lista. Escreva o corpo da função.
  2. ola, preciso de ajuda estou aprendendo C++ e nao consigo criar uma lista encadeada que armazene palavras segue o codigo: // listaEncadeada.cpp : Este arquivo contém a função 'main'. A execução do programa começa e termina ali. #include "pch.h" #include "conio.h" #include "string" #include<iostream> using namespace std; struct lista { char c; int n; struct lista*p; }; struct lista * inserirn(char,int); struct lista * prim; void inserir() { char c; int n; printf("\ninforme uma cor :"); scanf_s("%s", &c); printf("\ninforme um numero:"); scanf_s("%d", &n); inserirn(c,n); } struct lista * inserirn(char c,int n) { struct lista *novo, *aux; novo = (struct lista*)malloc(sizeof(struct lista)); if (novo!=NULL)//caso nao aja memoria { novo->n= n; novo->c = c; novo->p = NULL; if (prim==NULL) { prim = novo; } else { aux = prim; while (aux->p != NULL) { aux = aux->p; } aux->p = novo; } } return novo; } int main() { prim = NULL; inserir(); inserir(); inserir(); _getch(); }
  3. Juliana Mesquita

    Lista encadeada - Inserção ordenada

    Boa tarde gostaria de entender porque o codigo abaixo não funciona corretamente, alguem poderia me informar ?? LINK para por para rodar : https://repl.it/@JulianaMaria/Questao-1 /* Escrever um Pseudocódigo de inserção em uma lista encadeada ordenada. */ #include <stdio.h> #include <stdlib.h> typedef struct Dados { int numero; struct Dados * proximo; }No; void imprime (No * lista){ printf("\n Lista = "); while(lista->proximo != NULL){ printf(" %d ",lista->numero); lista = lista->proximo; } printf("\n"); } No * inserir_ordenado(int valor, No * inicio_lista){ No * percorrer_lista, * novo_no, *l; percorrer_lista = (No*)malloc(sizeof(No)); novo_no = (No*)malloc(sizeof(No)); percorrer_lista = inicio_lista; novo_no->numero = valor; int cont = 0; while((percorrer_lista->numero < valor)&&(percorrer_lista->proximo != NULL)){ percorrer_lista = percorrer_lista->proximo; cont++; } //inserir fim if((percorrer_lista->proximo == NULL)&&(cont != 0)){ percorrer_lista->proximo = novo_no; novo_no->proximo = NULL; }else{ //inserir inicio if(cont == 0){ novo_no->proximo = percorrer_lista; } //inserir meio else{ novo_no->proximo = percorrer_lista->proximo; percorrer_lista->proximo = novo_no; } } return inicio_lista; } int main (){ No * lista, * pt; int valor,op = 1; pt = lista; lista->numero = 10; lista->proximo = NULL; while(op == 1){ printf("\n Digite valor para inserir na lista : "); scanf("%d",&valor); lista = inserir_ordenado(valor,pt); printf("\n Deseja inserir outro valor ? [Digite 1 para sim e outro valor para nao] = "); scanf("%d",&op); } imprime(pt); }
  4. Boa Noite Pessoal! Estou com dificuldade em implementar um exercício de lista simplesmente encadeada. Nele pede para criar uma estrutura com os dados de um aluno (matricula, nome e media), e outra para ser a lista (com a estrutura com os dados do aluno e um no com as informações do próximo nó). Uma das opções é para inserir os dados de um novo aluno em ordem crescente de matricula. O código está dando erro. Vocês conseguem me dizer onde estou errando? Vejam meu código: #include<stdio.h> #include<stdlib.h> #include<string.h> struct aluno{ int matricula; char nome[100]; float media; }; typedef struct aluno Aluno; struct no{ Aluno* dados; struct no* prox; }; typedef struct no No; No* cria(No* l){ No* p=(No*)malloc(sizeof(No)); p->dados=NULL; return l; } No* ins_ordenado(No* l,int mat,char* nome,float nota){ Aluno* Al=(Aluno*)malloc(sizeof(Aluno)); No* novo=(No*)malloc(sizeof(No)); int i=0; Al->matricula=mat; while(nome!='\0'){ Al->nome=nome; i++; } Al->nome=NULL; Al->media=nota; novo->dados=Al; No*p=l; No*aux=NULL; if(l==NULL){ novo->prox=l; return novo; } while(p!=NULL&&p->dados->matricula<Al->matricula){ aux=p; p=p->prox; } novo->prox=aux->prox; aux->prox=novo; if(p==NULL){ novo->prox=NULL; } return l; } void imprime(No* l){ No* p; printf("turma 1:\n"); for(p=l;p!=NULL;p->prox){ printf("Matricula: %d\t Nome: %s Nota:%f\n",p->dados->matricula,p->dados->nome,p->dados->media); } printf("\n"); } int vazia(No* l){ return(l==NULL); } int main(){ No* l1=cria(l1); l1=ins_ordenado(l1,1,"Maria",5); printf("vazia? %d",vazia(l1)); //imprime(l1); return 0; } Desde já, Obrigada!
  5. Thiago Medeiros_80190

    Dúvida - Lista Encadeada C - Zivianni

    Pessoal, boa tarde! Estou analisando o código do Ziviani de lista encadeada. Alguém sabe me explicar o porque da necessidade de se usar o TipoCelula no início da estrutura e no final? Pergunto pois, se eu tiro do início ele da o erro "error: conflicting declaration 'typedef struct TipoCelula TipoCelula" e se eu tiro do final ele funciona perfeitamente. Ainda não conseguir pegar a ideia. Alguém poderia me auxiliar? typedef struct { int Chave; /* outros componentes */ } TipoItem; typedef struct TipoCelula *TipoApontador; typedef struct TipoCelula { TipoItem Item; TipoApontador Prox; } TipoCelula; typedef struct { TipoApontador Primeiro, Ultimo; } TipoLista;
  6. O código abaixo lê um arquivo texto, palavra por palavra (fsanf()), e imprime o resultado na tela. Reparem na variável _gambi_[9], um vetor de char. Ela nem é utilizada pelo programa, mas quando comento ou excluo ela o programa não funciona, mostra um conjunto de caracteres aleatórios no lugar das palavras. /* Autoria: Johnson Sudré Data...: 08/06/2015 * Função: Lê um arquivo texto palavra por palavra dinâmicamente e imprime o resultado na tela. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "lista.h" int main(void) { FILE *arq; char _gambi_[9]; char *p_aux; arq = fopen("./texto.txt", "r"); printf("\n\n"); if (arq == NULL) { printf("Erro, nao foi possivel abrir o arquivo\n"); return(1); } while((fscanf(arq, "%s", p_aux))!= EOF) { printf("%s ", p_aux); } rewind(arq); printf("\n\n\n Tam | String"); printf("\n-----------+-------------"); while((fscanf(arq, "%s", p_aux))!= EOF) { printf("\n%10d | %s ", strlen(p_aux), p_aux); } fclose(arq); return 0; } O código abaixo era pra ser a evolução do código anterior, e sua função é ler as palavras do arquivo texto e inseri-las numa lista encadeada. /* Autoria: Johnson Sudré Data...: 08/06/2015 * Função: Lê um arquivo texto palavra por palavra dinâmicamente e imprime o resultado na tela. */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "lista.h" int main(void) { FILE *arq; Lista *l; char _gambi_[9]; char *p_aux; l=listaIni(); arq = fopen("./texto.txt", "r"); printf("\n\n"); if (arq == NULL) { printf("Erro, nao foi possivel abrir o arquivo\n"); return(1); } while((fscanf(arq, "%s", p_aux))!= EOF) { printf("%s ", p_aux); } fclose(arq); return 0; } O problema: o programa pára quando inicio a lista (l=listaIni();) e logo em seguida leio o arquivo. Quando só leio o arquivo dá certo. Quando só crio e manipulo uma lista, também roda. Porém, quando crio uma lista vazia ao ler o arquivo o programa trava. PS.: Gente desculpem a minha tosquice mas como faço pra anexar alguns arquivos? Preciso anexar a biblioteca lista (.h e .c) e mais dois arquivos, um que contém o texto (texto.txt) e outro (teste_lista.c) que testa a biblioteca para lista encadeada, que utilizei para ver se o erro está na biblioteca (pelo jeito não está, pois o código tá funfando). Tem como anexar pessoal? obs.: pelo botão "minha mídia" não rolou.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.