Ir ao conteúdo
  • Cadastre-se

Matheus Maldi

Membro Pleno
  • Total de itens

    622
  • Cadastrado em

  • Última visita

  • Qualificações

    0%

Reputação

131

Sobre Matheus Maldi

  • Data de Nascimento 29/05/1991 (29 anos)

Informações gerais

  • Cidade e Estado
    Itapira/SP
  1. Você não esta pegando o pivô, inicie a variável com um valor entre o inicio e o fim, normalmente o pessoal usa: int pivo = (inicio + final) / 2; Isso deve resolver o problema do seu algoritmo.
  2. Cuidado com o uso de ponto flutuante fazendo casting para inteiros, isso vai gerar problemas / #include <stdio.h> #include <stdbool.h> #include <math.h> bool float_is_integer(float f, float epsilon) { if (fabsf(roundf(f) - f) <= epsilon) return true; return false; } int main() { // 3 == (3 ^ (1/20)) ^ 20 float tres = powf(powf(3.0f, 0.05f), 20.0f); // Está conta retorna deve retornar 3 if (float_is_integer(tres, 0.00001f)) printf("%.0f\n", tres); else printf("Nao eh inteiro\n"); return 0;
  3. Matheus Maldi

    C Jogo de Cartas Buraco

    Bom, efetuei uma estrutura para cartas e baralho #include <stdio.h> #include <stdint.h> #include <stdlib.h> #include <assert.h> struct carta { uint8_t id; }; struct baralho { struct carta cartas[52]; }; void carta_display(struct carta *carta) { assert(carta->id < 52); const char* naipe[4] = { "Paus", "Ouros", "Copas", "Espadas" }; const char* numeros[13] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Valete", "Dama", "Rei" }; printf("%s %s\n", numeros[carta->id % 13], naipe[carta->id / 13]); } void baralho_ct
  4. Matheus Maldi

    C Jogo de Cartas Buraco

    Verifique esse código, ele é bem simples, e imprime um baralho: #include <stdio.h> #include <stdint.h> #include <assert.h> void carta_display(uint8_t id) { assert(id < 52); const char* naipe[4] = { "Paus", "Ouros", "Copas", "Espadas" }; const char* numeros[13] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Valete", "Dama", "Rei" }; printf("%s %s\n", numeros[id % 13], naipe[id / 13]); } int main() { for (int i = 0; i < 52; i++) carta_display(i); return 0; }
  5. Bom, verifique este codigo: union { uint32_t u; uint16_t u16[2]; } dst; dst.u16[0] = 50938; dst.u16[1] = 1; printf("dst u16[0]: %u\n", dst.u16[0]); // 50938 printf("dst u16[1]: %u\n", dst.u16[1]); // 1 printf("dst: %u\n", dst.u); // 116474 Faz funcionar conforme disse
  6. Bom, então deve ser este o caso: https://pt.wikipedia.org/wiki/Extremidade_(ordenação) Acredito então que deve ser assim a leitura: uint32_t be_to_le(uint32_t be) { union { uint32_t u; uint8_t u8[4]; } src, dst; src.u = be; for (int i = 0, e = 3; i < 4; i++, e--) dst.u8[i] = src.u8[e]; return dst.u; } Se puder mandar os exemplos de inteiros lidos e seus reais valores
  7. Como o @Flávio Pedroza mostrou, você pode ser o lo e depois o hi e juntar uint32_t parse_lo_hi(uint16_t lo, uint16_t hi) { return (uint32_t)lo + ((uint32_t)hi << 16); } Agora se não é possível ler as partes separadas, somente os 32 bits use: uint32_t lohi_to_hilo(uint32_t lohi) { uint32_t lo = lohi >> 16; uint32_t hi = lohi << 16; return lo + hi; }
  8. Problema interessante resolvi tratando os casos com 7, 9, 11, 13, 6 e 8 #include <stdio.h> #include <assert.h> struct saque { int valor; union { int notas[6]; struct { int notas_100, notas_50, notas_20, notas_10, notas_5, notas_2; }; }; }; void sacar_7(struct saque* s) { assert(s->valor % 10 == 7); s->valor -= 7; s->notas_2 += 1; s->notas_5 += 1; } void sacar_9(struct saque* s) { assert(s->valor % 10 == 9); s->valor -= 9; s->notas_2 += 2; s->notas_5 += 1; } void sacar_11(struct sa
  9. Esta acessando a porta 5000?
  10. Acabei comprando um JBL Quantum 400, veio 2 cabos, um USB e outro cabo de áudio(este extremamente curto), o fone funciona apenas com cabo de áudio, o USB provavelmente funcione junto com o software deles, mas quero apenas um plug and play, nada de programas.
  11. Gostaria de recomendações de headphone com os requisitos: Somente 1 cabo e tem que ser USB Sem compativel com Linux. Valor até 1.000,00 reais
  12. Você está tentando alterar uma string constante. char *str = "Cachorro VErdE"; // Está NAO pode alterar char str[] = "Cachorro VErdE"; // Está pode alterar
  13. Você pode fazer mas não deve, é muito provável que por ser um jogo o loop infinito faça o aplicativo comer a bateria do celular. O Android Studio também pode "desenhar" em vez de apenas codificar. Mas aprenda uma coisa, você vai passar a maior parte do tempo programando, e não desenhando, aprenda mesmo a programar, e aprenda o código que a IDE escreve para "desenhar".

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

Aprenda a ler resistores e capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!