Ir ao conteúdo
  • Cadastre-se

Karpov1

Membro Pleno
  • Posts

    161
  • Cadastrado em

  • Última visita

Tudo que Karpov1 postou

  1. Karpov1

    codeblocks

    Não sei se é nessa area que deveria postar, mas eu baixei o codeblocks que é o compilador de programas em C, mas quando eu termino de instalar deveria aparecer uma tela " Compilers auto-detection " para eu selecionar " Current default compiler: GNU GCC compiler" " Mas logo que instalo nao aparece essa tela e aparece escrito "Can't find compiler executable in your configured search path's for GNU GCC Compiler" então eu não consigo usar o codeblocks para compilar programas e tal...como eu corrijo esse problema?
  2. Karpov1

    atom

    Eu baixei o atom, queria passar um codigo do bloco de notas para ele, para poder enviar pro professor. Mas como eu faço isso? nao sei mexer no atom
  3. Karpov1

    lista* e lista

    Eu já vi 2 implementações diferentes para listas ligadas: struct lista { int matricula; char nome[81]; float media; struct lista* prox; } typedef struct lista Lista; int ins_ordenado(Lista* Li, int mat, char* nome, float nota) E typedef struct lista* Lista; int ins_ordenado(Lista* Li, int mat, char* nome, float nota) No primeiro caso é uma lista sem cabeça e no segundo caso é uma lista com cabeça? Ou as duas realmente não tem cabeça?Eu acho que as duas não tem cabeça, mas eu não saberia dizer a diferença entre elas.
  4. Karpov1

    arvore binaria

    Eu assisti essas aulas, mesmo assim nao sei fazer essa questao. Como faz?
  5. Karpov1

    arvore binaria

    Faça uma funcao que recebe dois apontadores para nos x e y de uma arvore binaria e decide se x é ancestral de y.
  6. Hmm..eu decidi tirar o * antes de dados, fazer struct Voo dados , porque é o unico jeito que consegui pro programa nao dar erro. Mas surgiu outra duvida se você puder ver na PM que mandei... De qualquer forma, Usando malloc nao seria: Voo v = (Voo) malloc(sizeof(Voo)); Isso faz com que a variavel v tenha seu espaço armazenado dinamicamente, certo? Mas eu não entendi a associação entre usar malloc e conseguir fazer um ciclo for : O trecho de codigo seria: Voo v = (Voo) malloc(sizeof(Voo)); dados=&v; for(i=0;i<n;i++){ scanf("%d", &(dados->tempoAtual)); scanf("%c", &dados->identificacao); scanf("%s", &dados->idAVI[8]); scanf("%d", &(dados->prioridade)); scanf("%d", &(dados->tempoEsperaAVI)); } Seria assim? Mas,ta dando erro xD
  7. Então você declarou struct Voo v1 e v2 porque no looping eu coloquei i<2. Mas no problema de fato eu nao sei ate quando o i vai ir, vai ser ate quando digitarem F, então como eu vou fazer dados=&v se eu não sei quantos structs Voo v eu vou precisar? tecnicamente eu n sei quantos voos eu vou receber...
  8. Hm, tinha um erro de parenteses nos scanfs, eu corrigi isso mas o erro continuou. Deve ter sido isso que você falou o problema, mas eu nao entendi o que você falou ! Porque, pelo menos corrigindo os parentes, eu nao atribui valor com scanf a um ponteiro, mas sim ao elemento que ele aponta! scanf("%d", &(dados->tempoAtual)); O elemento tempoAtual da estrutura de nome dados, na posição irá receber o valor digitado pelo usuario. Ou seja, quem ta recebendo o valor é quem está sendo apontado! você pode corrigir o codigo que escrevi para ficar correto? Mais uma duvida extra, eu preciso ficar lendo as informaçoes até o usuario digitar F de aeroporto fechado, então como eu posso organizar esse for? Em sintese eu tenho que ficar lendo as informaçoes dos voos, mas quando o usuario digitar F então o aeroporto fechou e nao precisa mais ler....
  9. Eu queria testar esse programa, digitar 2 vezes as informaçoes pedidas no main. Mas assim que eu digito a primeira vez e dou enter, aparece "programa parou de funcionar e precisa ser fechado" porque acontece isso? #include <stdio.h> #include <stdlib.h> #include <string.h> /* Estrutura para armazenar os dados das AVIÕES. */ struct Voo{ int tempoAtual; char identificacao; char idAVI[8]; int prioridade, tempoEsperaAVI; }; typedef struct Voo* voo; typedef struct elemento* Lista; struct elemento{ voo dados[2]; struct elemento* prox; }; typedef struct elemento Elem; int main(){ int i=0; char a; voo dados[2]; for(i=0;i<2;i++){ scanf("%d", &(dados->tempoAtual)); scanf("%c", &dados->identificacao); scanf("%s", &dados->idAVI[8]); scanf("%d", &(dados->prioridade)); scanf("%d", &(dados->tempoEsperaAVI)); scanf("%c", &a); } return 0; }
  10. Karpov1

    estruturas

    Ah, eu vi aqui que typedef é um comando que dá apelidos. Então veja se meu pensamento está correto: 1) celula é apelido para struct cel 2) apontador é apelido para struct cel* 3)matriz esparsa é apelido de algo? por que ele não fez só struct{....} matrizEsparsa ?
  11. Karpov1

    estruturas

    Nao..olha isso de um exercicio: typedef struct cel { int lin, col; double coef; struct cel *proxNaMesmaLin, *antNaMesmaLin, *proxNaMesmaCol, *antNaMesmaCol; } celula; typedef celula * apontador; typedef struct { int m, /* numero de linhas */ n, /* numero de colunas */ r; /* numero de elementos nao nulos*/ apontador *vetorDeLinhas, *vetorDeColunas; } matrizEsparsa; Ele primeiro fez uma estrutura do tipo cel, e depois celula é o nome de uma estrutura do tipo cel. Depois, ele fez celula* apontador, mas celula é nome, e apontador é outro nome, como assim? Depois dentro da struct abaixo ele fez apontador* vetorDeLinhas, mas apontador é nome, e vetorDeLinhas é outro nome, daí ficou nome do nome do nome, como assim?
  12. Karpov1

    pilhas

    Faca uma implementacao de pilhas (empilha, desempilha, pilhaVazia, etc) usando: a. listas ligadas; b. listas ligadas circulares; c. listas duplamente ligadas; d. listas duplamente ligadas circulares com cabeca de lista Eu até sei para listas ligadas, por exemplo: int desempilha(pilha *p) { if (pilhaVazia(*p)) printf("ERRO: underflow!!\n"); (p->topo)--; return(p->v[p->topo]); } Mas como eu faço isso com listas circulares? com duplamente ligadas...?
  13. Karpov1

    estruturas

    Para montar uma estrutura, eu aprendi que era struct list { coisas } lista; Ou seja, list é o tipo de estrutura e lista é o nome. Mas eu ja vi list lista abacate, ou seja, dois nomes!! o que é isso? Eu já vi tambem list lista abacate maca, ou seja 3 nomes!! como assim?
  14. Karpov1

    lista ligada

    Eu queria entender esse codigo. 1)O que seria o elementT *element e o struct cellT *link. 2)por que foi possível criar elementT *element dentro da primeira estrutura cellT se não havia sido criado a estrutura elementT? 3) As operações de inserção e de remoção, alguem pode explicar linha por linha o que o codigo fazia? typedef struct cellT { elementT *element; struct cellT *link; } cellT; ////////////////////////////////////////////////////////// // Implementação de uma fila (= queue) // A fila será representada por um registro do tipo queueT // que tem dois campos: o endereço do início da fila e o // endereço do fim da fila. Uma fila q será considerada // vazia se q->head == NULL. A fila propriamente dita será // uma lista encadeada com células do tipo cellT. ////////////////////////////////////////////////////////// typedef struct { cellT *head; cellT *tail; } queueT; // Operação de inserção: coloca element na fila q. void Enqueue( queueT *q, elementT *element) { cellT *cp; cp = malloc( sizeof (cellT)); if (cp == NULL) exit( EXIT_FAILURE); cp->element = element; cp->link = NULL; if (q->head == NULL) q->head = cp; else q->tail->link= cp; q->tail = cp; } // Operação de remoção: retira um objeto da fila q e // devolve o valor desse objeto. elementT *Dequeue( queueT *q) { elementT *result; cellT *cp; cp = q->head; if (cp == NULL) { printf( "Erro: a fila está vazia"); exit( EXIT_FAILURE); } result = cp->element; q->head = cp->link; free( cp); return result; }
  15. Karpov1

    entrada

    Hmm..é que se a gente tiver que digitiar um numero negativo pra entrada terminar, o numero negativo ainda assim vai aparecer na tela preta de execução né, ele ainda vai ser uma entrada inevitavelmente ne...nao tem mesmo como deixar na entrada apenas os numeros que você quer do usuario pra usar no programa ne?
  16. Karpov1

    entrada

    Nao..não é um numero só...é que eu escrevi junto mas 253 é 2 5 3 O usuario vai digitar varios numeros , nesse caso foi 3 numeros... Como eu faço agora?
  17. Karpov1

    ciclos

    Espera...se eu colocar exit(0) na função abacate, ela irá retornar 0 pra função main? Dá na mesma escrever exit(0) ou return(0)? ou exit(0) encerra sua função auxiliar sem retornar nada? E se eu escrever exit(0) numa função auxiliar , ela encerra a função inteira mesmo que ele esteja dentro de 5 ciclos for? for{ for{ for{ for{ for{ exit(0); } } } } } Ou o exit encerra apenas o ultimo for?
  18. Karpov1

    ciclos

    Eu fiz um programa que é assim: Tem uma função Main. Na função main eu chamo uma função int abacate. Na função int abacate eu tenho um ciclo for, seguido de um if,que tem dentro dele outro for. Caso esse ultimo for resulte numa variavel = 0, eu quero que o programa inteiro se encerre ai. Eu tentei fazer na função abacate: for{ if{ for{ } if a =0; exit(0); } } Mas nao está dando certo...por que? preciso por vários exits?
  19. Karpov1

    entrada

    Tenho que fazer em C um programa que recebe uma sequencia de numeros como entrada e devolve eles em ordem decrescente. Tipo Entrada: 253 Saida 532 Como eu faço pra obter essa entrada se eu não sei quantos números o usuario vai digitar? eu pensei em pedir antes pro usuario digitar quantos numeros ele quer, e dai fazer um ciclo for..mas dai a entrada ficaria: Entrada: qnts numeros quer digitar? 3 quais sao? 253 Saidaa: 532 Não tem como a entrada ser só os numeros que ele quer digitar?
  20. Hm..o tabuleiro já está dado, é o que eu postei no meu primeiro post, e eu tenho que por as palavras que estão la no tabuleiro. Isso é gerar palavra cruzada?
  21. Sim. Eu quero um algoritmo em C que a partir de uma lista de palavras faça uma palavra cruzada, ou seja, posicionar as palavras na matriz. Eu até achei esse link: http://www.codeproject.com/Articles/530853/Creating-a-crossword-generator Ele parece que resolve boa parte da questão, mas eu não entendi e não sei terminar, você saberia terminar?
  22. Interessado em fazer um dinheirinho extra, certo professor resolveu passar aos alunos o seguinte exercıcio. Ele deseja montar desafios de palavras cruzadas (que revender´a aos jornais). Para isso, ele monta um tabuleiro e uma lista de palavras que ele deseja que esteja na matriz. A tarefa de vocˆes ´e encontrar um jeito de preencher o tabuleiro com as palavras, se existir. Neste caso o professor poder´a vender o desafio aos jornais (e ficar´a rico). S˜ao dadas v´arias instˆancias. Cada instˆancia ´e composta pelo n´umero m de linhas e de n colunas do tabuleiro de palavras cruzadas e, a seguir, por m linhas compostas cada uma por n 0’s ou -1’s (o -1 indica uma posi¸c˜ao “preta” e o 0 indica uma posi¸c˜ao branca. Depois do tabuleiro ´e dado o n´umero p de palavras, que seguem nas p linhas seguintes. A entrada termina com uma matriz 0 × 0. Exemplo: 5 4 -1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 -1 0 0 10 ad antas carn casa do lado lua os soda ur 3 3 -1 0 0 0 0 0 0 -1 0 5 ab au bug la lua 0 0 Você deve resolver o seguinte problema: ab, adido, ai, al, am, atice, banc, bo, boca, cao, dam, dm, enaltecedor, es, et, indo, it, itamaraca, mito, mo, moa, ms, mud, naus, neonato, permitir, remessa, res, robustecida, toast, trem, tri
  23. Interessado em fazer um dinheirinho extra, certo professor resolveu passar aos alunos o seguinte exercıcio. Ele deseja montar desafios de palavras cruzadas (que revender´a aos jornais). Para isso, ele monta um tabuleiro e uma lista de palavras que ele deseja que esteja na matriz. A tarefa de vocˆes ´e encontrar um jeito de preencher o tabuleiro com as palavras, se existir. Neste caso o professor poder´a vender o desafio aos jornais (e ficar´a rico). S˜ao dadas v´arias instˆancias. Cada instˆancia ´e composta pelo n´umero m de linhas e de n colunas do tabuleiro de palavras cruzadas e, a seguir, por m linhas compostas cada uma por n 0’s ou -1’s (o -1 indica uma posi¸c˜ao “preta” e o 0 indica uma posi¸c˜ao branca. Depois do tabuleiro ´e dado o n´umero p de palavras, que seguem nas p linhas seguintes. A entrada termina com uma matriz 0 × 0. Exemplo: 5 4 -1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 -1 0 0 10 ad antas carn casa do lado lua os soda ur 3 3 -1 0 0 0 0 0 0 -1 0 5 ab au bug la lua 0 0 Você deve resolver o seguinte problema: ab, adido, ai, al, am, atice, banc, bo, boca, cao, dam, dm, enaltecedor, es, et, indo, it, itamaraca, mito, mo, moa, ms, mud, naus, neonato, permitir, remessa, res, robustecida, toast, trem, tri
  24. Interessado em fazer um dinheirinho extra, certo professor resolveu passar aos alunos o seguinte exercıcio. Ele deseja montar desafios de palavras cruzadas (que revender´a aos jornais). Para isso, ele monta um tabuleiro e uma lista de palavras que ele deseja que esteja na matriz. A tarefa de vocˆes ´e encontrar um jeito de preencher o tabuleiro com as palavras, se existir. Neste caso o professor poder´a vender o desafio aos jornais (e ficar´a rico). S˜ao dadas v´arias instˆancias. Cada instˆancia ´e composta pelo n´umero m de linhas e de n colunas do tabuleiro de palavras cruzadas e, a seguir, por m linhas compostas cada uma por n 0’s ou -1’s (o -1 indica uma posi¸c˜ao “preta” e o 0 indica uma posi¸c˜ao branca. Depois do tabuleiro ´e dado o n´umero p de palavras, que seguem nas p linhas seguintes. A entrada termina com uma matriz 0 × 0. Exemplo: 5 4 -1 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 -1 0 0 10 ad antas carn casa do lado lua os soda ur 3 3 -1 0 0 0 0 0 0 -1 0 5 ab au bug la lua 0 0 Você deve resolver o seguinte problema: ab, adido, ai, al, am, atice, banc, bo, boca, cao, dam, dm, enaltecedor, es, et, indo, it, itamaraca, mito, mo, moa, ms, mud, naus, neonato, permitir, remessa, res, robustecida, toast, trem, tri
  25. Karpov1

    pilhas

    A primeira das sequências abaixo está bem-formada enquanto a segunda não está: ( ( ) [ ( ) ] ) ( [ ) ] Esta função devolve 1 se a string s contém uma sequência bem-formada de parênteses e colchetes e devolve 0 se a sequência é malformada. int bemFormada (char s[]) { char *pilha; int t; int N, i; N = strlen (s); pilha = mallocc (N * sizeof (char)); t = 0; for (i = 0; s != '\0'; ++i) { // a pilha está armazenada no vetor pilha[0..t-1] switch (s) { case ')': if (t != 0 && pilha[t-1] == '(') --t; else return 0; break; case ']': if (t != 0 && pilha[t-1] == '[') --t; else return 0; break; default: pilha[t++] = s; } } return t == 0; } Mas eu não entendi essa função: 1) Por que if (t != 0 && pilha[t-1] == '(') --t; else return 0 ? Não entendi o que essa parte do código significa! 2) O que significa fazer default: pilha[t++] = s; 3) por que no final está return t == 0;

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!