Ir ao conteúdo

Isis Binder

Membro Pleno
  • Posts

    102
  • Cadastrado em

  • Última visita

Tudo que Isis Binder postou

  1. Não. A declaração está correta: é um char.
  2. Troque scanf("%c", &escolha); por scanf("%c%*c", &escolha); e veja se funciona.
  3. http://en.cppreference.com/w/cpp/header/cstdlib Você já conhece loops. Use.
  4. http://stackoverflow.com/questions/7248627/setting-width-in-c-output-stream http://stackoverflow.com/questions/1532640/which-iomanip-manipulators-are-sticky
  5. Isis Binder

    switch() em c++

    O switch está errado.
  6. int n =2;int repeticoes = 0;int i;for(i=0; i<MAX && v[i] != n; i++); // Procura a primeira posição.if (i >= MAX) { puts("Número não encontrado");} else { for(int j=i+1; j<MAX; j++) { if (v[j] == n) repeticoes++; }}
  7. Só um adendo: o "declared here" informa em qual linha do arquivo ela está declarada. O erro propriamente dito é a falta de argumentos p/ a função, não a redefinição da mesma (a mensagem seria diferente).
  8. Passe a quantidade de argumentos correta p/ a função. Provavelmente ela deve precisar de 2.
  9. Faça um loop e compare o conteúdo da posição i com as demais (exceto ela mesma, óbvio).
  10. Isis Binder

    AJUDA COM PROGRAMA?

    http://mathworld.wolfram.com/GoldbachConjecture.html Cuidado com o que seu professor vai colocar como entradas ou falar sobre a conjectura...
  11. O C99 permite que você faça o seguinte: int main(void) { int qtde_nomes; scanf("%d", &nomes); char [qtde_nomes][255]; return 0;}
  12. Se você usar as funções corretas não vai precisar fazer isso.
  13. Exatamente. Por isso você tem 6 meses p/ estudar (no caso do curso ser semestral). Por isso os professores dão listas de exercícios e trabalhos. Por isso livros tem exercícios. Por isso não se deixa p/ estudar na véspera da prova.
  14. Não. Não use fflush na entrada padrão. http://en.cppreference.com/w/c/io/fflush For input streams (and for update streams on which the last operation was input), the behavior is undefined. Leia com fgets (que retém o \n no final, mas isso é fácil de remover usando (*strrchr(string, '\n')) = '\0' ) ou use a supressão do scanf (scanf("%[^\n]s%*c",string))
  15. Não é necessário ser expert no assunto p/ fazer esses algoritmos. Na real, se você não consegue nem escrever um passo-a-passo em português p/ fazer um código mínimo, ainda que com falhas, vai precisar reprovar na matéria mesmo.
  16. #include<stdio.h> int main() { char nome[20]; float preco ,desc ,total; int qtd; printf("Digite o nome do Produto:\n"); scanf("%20s",nome); printf("Digite a quantidade do produto:\n"); scanf("%d",&qtd); printf("Digite o preco do Produto: Obs:(Caso aja centavos coloque . invés de , Ex: 2.5)\n"); scanf("%f",&preco); if (qtd<=10) { desc = 0.00; } else if(qtd<=20) { desc = 0.10; } else if (qtd<=50) { desc = 0.20; } else { desc = 0.25; } total = qtd*preco*(1-desc); printf("O nome do produto e: %s\n" ,nome); printf("O Preco total do Produto: %0.2f" ,total); return 0; }
  17. #include <stdio.h> int main(void) { int linhas_topo=8; int max_marcas; int espacos; int i,j; for(i=1, max_marcas=1; i<=linhas_topo; i++, max_marcas+=2) { espacos = linhas_topo-i; for(j=1; j<=espacos; j++) printf(" "); for(j=1; j<=max_marcas; j++) printf("X"); puts(""); } // Tronco int meio = (2*linhas_topo-1)/2; espacos = meio-1; int linhas_tronco = 2; for(i=1; i<=linhas_tronco; i++) { for(j=1; j<=espacos; j++) printf(" "); printf("XX\n"); } espacos = meio - 2; for(i=1;i<=espacos;i++) printf(" "); printf("XXXX\n"); return 0; }
  18. arvore.h: struct NoArvore{ int elem; struct NoArvore *esq,*dir;};struct Arvore { int niveis; struct NoArvore * raiz;};void inserir(struct NoArvore * a_inserir, struct Arvore * arvore);void remover(struct NoArvore * a_remover, struct Arvore * arvore);void pesquisar(int elemento, struct Arvore * arvore);void percurso_em_nivel(struct Arvore * arvore); Lista.h: #ifndef _ARVORE_#define _ARVORE_#include "arvore.h"#endifstruct NoLista { struct NoArvore * p; // Aqui será armazenado o endereço do elemento. struct NoLista * proximo;};void lista_inserir(struct NoLista * a_inserir, struct NoLista * pai);void lista_remover(struct NoLista * a_remover);void lista_exibir(struct NoLista * origem); No main você pode usar o mesmo truque das macros p/ evitar inclusão duplicada. Note que você poderia meio que se livrar de incluir a lógica do armazenamento na lista na função percurso_em_nivel se passar um ponteiro p/ função (só dê uma olhada nos efeitos de se passar NULL pra esse tipo de coisa, porque não lembro se existe algum problema): void percurso_em_nivel(struct Arvore * arvore, void (*store_traversal_function) (void *, void *)) { // Lógica do percurso na árvore // A cada nó visitado é possível executar a função store_traversall_function com // store_traversal_function(no_visitado, lista) // No seu caso, seria a função de inserção na lista. if (store_traversal_function) { struct NoLista * n = malloc(sizeof(struct NoLista)); // Verificação do retorno AQUI store_traversal_function(n, lista); }} No main a chamada seria percurso_em_nivel(arvore, lista_inserir); http://www.geeksforgeeks.org/level-order-tree-traversal/ Edit: falei lista, mas é fila.
  19. https://gcc.gnu.org/onlinedocs/gcc/Integers-implementation.html https://gmplib.org/
  20. Parece mesmo que o enunciado está inconsistente.No primeiro caso, quando é mencionado (4,5), parece que você adiciona o número diretamente na posição mencionada -1 para cada índice, mas no exemplo dado no final, ele vai parar no lugar errado: (1,2) e não (0,1). Quando os números são negativos parece ser em relação à última instrução.
  21. Não entendi o que você falou. Nem a comparação feita (são chars, não strings) nem a atribuição estão erradas.
  22. Usa fila p/ exibir os dados? você não quer dizer percurso em pré-ordem? https://en.wikipedia.org/wiki/Tree_traversal#Pre-order Se for isso não é necessário criar uma estrutura fila, a não ser que você queira armazenar a sequência do percurso. E mesmo nesse caso, a fila não se relaciona com a árvore.
  23. Está meio confuso essa sua estrutura de dados. O que exatamente você precisa representar?
  24. Atente para o índice. Arrays iniciam de 0 e vão até N-1. A palavra pode ter 10 caracteres (tamanho), mas o seu loop tem que ser < 10 ou <= 9. Muito provável que esteja fechando por causa dessa tentativa de acesso à posição de memória além do alocado.
  25. Isis Binder

    Onde aprender C

    O problema em se utilizar livros desse tipo é que, por ser iniciante, você não tem condições de saber o que está errado e o que está certo. "Desaprender" o errado é bem mais difícil do que aprender certo na primeira vez. Vejo isso pela quantidade de código que usa conio.h, void main, system, itoa e fflush na entrada padrão. Por mais que seja falado que não é p/ fazer isso, as pessoas insistem nesse comportamento. P/ quem está começando é necessário exercícios, um dos pontos fracos inclusive do famoso Core Java (não existe *nenhum* exercício nos dois volumes). Livros de referência não servem p/ isso. Internet tá aí pra isso, inclusive: é besteira comprar livro de referência p/ uma linguagem hoje. A documentação da API está online (e é bem mais fácil encontrar texto com Ctrl+F do que indo no índice remissivo). As linguagens C e C++ praticamente colecionam livros ruins devido ao "dane-se o ISO C; na minha plataforma funciona". O problema é que, de forma generalizada (porque já vi livros muito ruins p/ linguagens muito populares, como Java), esse é o tipo de programador que as empresas acabam contratando. O cara não tem uma base boa, faz da forma que aprendeu no livro e quando não funciona sai pendurando coisas em redor p/ "disfarçar". Olá, retrabalho. Vale deixar registrado que Herbert Schildt, via de regra, também não é algo digno de se recomendar. http://programmers.stackexchange.com/questions/6974/whats-the-worst-programming-book-youve-ever-read

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!