Ir ao conteúdo
  • Cadastre-se

blvsman

Membro Pleno
  • Posts

    30
  • Cadastrado em

  • Última visita

Reputação

11
  1. Tenho uma Lista Ordenada, com nós que guarda dois valores:x e y. Sendo eles pontos em plano cartesiano. Gostaria de saber como faço pra achar o menor x e o menor y nessa lista com nós #ifndef LISTA_H #define LISTA_H #define TRUE 1 #define FALSE 0 typedef struct ponto NO; struct ponto { double x; double y; NO * prox; };
  2. Está certo ? #include "lista.h" typedef struct no_ NO; typedef struct item ITEM; struct item{ int chave; int posicao; char nome[20]; }; struct no_{ ITEM item; NO *proximo; }; struct lista_{ NO *inicio; } /* Criação e inicialização da lista */ LISTA* lista_criar(void){ LISTA *lista = (LISTA*) malloc(sizeof(LISTA)); if(lista != NULL){ lista->inicio = NULL; } return(lista); } /* Verifica se a lista está vazia */ boolean lista_vazia(LISTA *lista){ if(*lista->item == NULL){ return TRUE; } else{ return FALSE; } }
  3. @arfneto Eu ainda não aprendi a ideia de ter ponteiro para os dois lados, nem sabia que seria possível isso. Sobre de como colocaria os filmes na lista esqueci de mencionar isso mesmo, mas seria da seguinte forma: Cada filme novo que eu insiro na lista ele iria para a primeira posição, então se eu insiro um segundo filme o que era primeiro passa a ser o segundo e assim vai. E também é uma lista não ordenada.
  4. Eu tenho uma lista encadeada onde armazena nome do filme, posição da lista em que quer armazenar e a chave do filme (um código para busca). Essas 3 variáveis estão dentro de uma struct, eu quero usar uma função em que digitando a chave do filme eu verifico se o filme existe na lista. A minha ideia é o seguinte, eu estou querendo criar um ponteiro para apontar no nó da lista e verificar se a chave exista ali de fato. Mas a dúvida é: como criar esse ponteiro e como trabalhar com ele dentro da função. Deixarei abaixo mais ou menos a ideia do código e se possível já corrigir ou refazer o código por favor, pois é urgente e estou atrasado, rs. Obs: Aqui está apenas o .h, a main.c nada mais nada menos está lendo o comando em que o usuário digita para buscar uma chave #include "lista.h" typedef struct no_ NO; typedef struct item ITEM; struct item{ int chave; int posicao; char nome[20]; }; struct no_{ ITEM item; NO *proximo; }; struct lista_{ NO *inicio; } /* Criação e inicialização da lista */ LISTA* lista_criar(void){ LISTA *lista = (LISTA*) malloc(sizeof(LISTA)); if(lista != NULL){ lista->inicio = NULL; } return(lista); } /* Função em que busca o elemento na lista int comando = comando em que o usuário digita para buscar */ int lista_buscar(int chave, LISTA *lista, int comando){ if(comando == 5){ if(){ /* aqui eu queria verificar se a chave procurada é o primeiro elemento da lista Mas como ? Seria if(*inicio == chave) ?*/ } else{ /* caso a chave procurada não seja o primeiro elemento da lista Tava com a ideia de jogar um for e verificar cada nó da lista e verificar a chave, mas como ? } }
  5. Estou com dúvida na inicialização e criação da lista.Vi uma definição de criar uma lista e eu não entendi o "if( lista != NULL)", pois a lista já não vai começar sem nada ? Ela não seria = NULL ? typedef struct no_ NO; struct no_{ ITEM item; NO *proximo; }; struct lista_{ NO *inicio; } /* Criação e inicialização da lista */ LISTA* lista_criar(void){ LISTA *lista = (LISTA*) malloc(sizeof(LISTA)); if(lista != NULL){ lista->inicio = NULL; } return(lista); }
  6. @arfneto @V!OLADOR Eu entendi e achei ótima a explicação. Só me confirma uma coisa, então na struct lista_ o ponteiro "NO *inicio" está apontando pra struct no_ ?
  7. Olá, estou com dúvida a respeito desse código: typedef struct no_ NO; typedef struct lista_ LISTA; struct lista_{ NO *inicio; int profundidade; /* prof. da lista general */ }; struct no_{ union{ ITEM atomo; /*define o campo genérico que armazena atomo ou sublista */ NO *sublista; }info; int tipo; NO *prox; } Por que ela definiu as structs em cima das structs ? Qual a diferença entre definir uma "struct" e uma "typedef struct"? O "union" é uma struct dentro de uma struct ?
  8. blvsman

    C Make file em C

    Olá, gostaria de saber o que seria um Makefile e como criar um ?
  9. Eu uso o Linux Ubuntu e estou com um certo probleminha (talvez tosco) que não me incomodava, mas agora está incomodando. O relógio sempre fica errado, eu arrumo para o horário certo, mas sempre volta a bugar. Alguém sabe como resolver ?
  10. "Faça um programa que vai lendo cada caractere que o usuário digitar. Quando o usuário digitar o caractere 'x', o programa deve exibir todos os caracteres que foram digitados antes do 'x'." Minha dúvida é: como eu leio o "enter" do usuário para que não digite até completar o vetor, tipo quando ele aperta o enter é pro programa encerrar e mostrar os caracteres antes do x. Pela minha intuição, devo utilizar ponteiros, mas como utilizar ? #include <stdio.h> void show( char *s ); // Protótipo da função show( char *s ) int Dec( char ch ); // Protótipo da função Dec( char ch ); Obs: Dec = Decimal int main() { char str[200]; printf( "Entre com letras, x para encerrar\n" ); /////////// duvida do scanf ??? return 0; } // Corpo da função show( char *s ) void show( char *s ) { for( int u=0; s[u]!='\0'; u++ ) { // Só "letras" maiúsculas ou minúsculas if( ( Dec(s[u]) >= 65 && Dec(s[u]) <= 90) || (Dec(s[u]) >= 97 && Dec(s[u]) <= 122) ) printf( "%c ", s[u] == 'x' ? ' ' : s[u] ); } putchar( '\n' ); } // Corpo da função Dec( char ch ) int Dec( char ch ) { // Retorna o valor decimal do caracter. Tabela ASCII. return "%d", ch; }
  11. Olá, estou tentando editar um barchart e estou tendo um problema em acrescentar valores negativos no eixo-y. Já tentei mudar o domínio de y, mas não aparece os números abaixo do eixo 0 e sim a partir do eixo 0, ou seja, não consego mostrar a parte negativa do eixo-y. Alguma sugestão ? OBS: Usei a biblioteca d3 bar chart para fazer o gráfico.
  12. O problema deve estar na inicialização do seu notebook. Acesse a BIOS e vá em "Boot" e tenta fazer as seguintes alterações: Trocar modo Legacy pra UEFI, ou vice-versa. Desabilitar ou habilitar o modo de segurança do boot Reordene as prioridades de inicialização do sistema (tente colocar o ubuntu em primeiro) Caso um desses não dê certo, alguns notebooks não aparece o grub pra você selecionar qual sistema quer iniciar. Com isso, abra novamente a BIOS e vai em "Main" e habilita o "F12 BOOT MENU", quando sua máquina estiver iniciando fique pressionando o F12 para ver se apareça algo. Talvez essa configuração esteja em "Startup" no seu notebook e vai estar escrito "Boot device list F12 option". Se não conseguir localizar em nenhum desses lugares, tente dá uma fuçada e achar essa opção de ativar o F12, pois o seu notebook pode ter uma bios diferente dos demais.
  13. Você deixou o pendrive bootavel ? Se sim, tenta entrar nas configurações da BIOS da sua máquina, vai em "boot" e verifica a ordem de inicialização do sistema, veja se está em modo Legacy ou UEFI e veja se modo de segurança está habilitado ou não. Se você não botou seu pendrive, baixa um software chamado RUFUS e siga os procedimentos.
  14. Olá, estou querendo transformar uma variável int em que o usuário digita para uma variável string para eu verificar quantos algarismos o número tem. Eu tentei usar o : int n; char string[10]; itoa(n,&string,10); Mas na hora de executar ele dá erro sobre a função "itoa". Eu pesquisei na internet e parece que essa função não está mais sendo usada atualmente no Windows e Linux.
  15. @arfneto acho que entendi, mas como isso iria me ajudar a criar o vetor da struct ponto ?

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