Ir ao conteúdo
  • Cadastre-se

codigo rapido

Membro Pleno
  • Posts

    275
  • Cadastrado em

  • Última visita

  1. Esse problema pode mesmo existir. Com você faz pra evitar tal problema? Deve ter alguma lib pra criptografia na qual é experiente. Eu uso RSA pra primeira troca de chaves. Como uso mais javaScript para cliente, a muito tempo encontrei um codigo chamado odave com RSA e AES. RSA é uma criptografia forte assimetrica Depois do RSA, uso AES, que é forte, mas é simétrica. Mas como a chave do AES foi transmitida usando o RSA, não precisa ter muita preocupação com o AES depois.
  2. você já programa em alguma outra linguagem? É que algumas linguagens, como java por exemplo, os parametros só servem de entrada. E a saida é usando return dentro da função. o senhor está com a ideia errada da coisa para o C. Em C, os parametros da função não quer dizer que só é entrada. Pode ser saida também, quando for ponteiro. Quer dizer que o ponteiro é um endereço (ou conjunto de entedeços) de memoria. E a função, se você quiser mudar o conteudo desse endereço, vai permitir que esse valor alterado fique visivel de qualquer parte do programa, pois esse endereço pode ser obtido se a variavel onde você guardou esse endereço for acessivel. Como no exemplo mostrado quando lhe fiz o exemplo fatorial3 do exercicio de recursividade que o senhor passou da ultima vez. void calc_hexa(float la, float *a, float *p) { *a = (3 * la * la * sqrt(3))/2; *p = 6 * la; } Não etstei, mas acredito que funcione e seja só isso...
  3. Mas, novamente, as perguntas que não querem calar: por que? qual o contexto? e onde está a fonte? professor da usp fazendo bobagem? https://www.ime.usp.br/~pf/algoritmos/aulas/random.html Mais: https://www.cplusplus.com/reference/cstdlib/srand/ https://man7.org/linux/man-pages/man3/tsearch.3.html https://classes.mst.edu/compsci1570/randomnumbergeneration.htm http://linguagemc.com.br/valores-aleatorios-em-c-com-a-funcao-rand/
  4. valeu Devair! Eu não percebi. Desculpa Sra Nagatonie! Eu não percebi mesmo. Por favor, entenda que muitos usuários entram com avatares que não dá pra determinar se é homem ou mulher.
  5. Pode ser... meu ubunto é de 2016. Mas isso não importa. Muito bom... porque não fez isso antes? Ou simplesmente... você deve estar usando uma versão antiga do compilador que a iso ja descartou... Programar não é isso ai que você tá achando que é. vai muito além de conhecer profunda mente a linguagem. Quem programa, programa até em eletronica, até com caixas daguas dá pra programar...
  6. #include <stdio.h> int main() { float frente, esquerda, direita; //, tras; atras talvez nem precise porque // não entrando nessas condição, automaticamente // irá imprimir atras... // se tem 3 sensores, então obrigatoriamente você deve ter 3 scanfs pra similar printf("Entre com o valor a: "); scanf("%f", &frente); printf("Entre com o valor b: "); scanf("%f", &esquerda); printf("Entre com o valor c: "); scanf("%f", &direita); // acho que deveria ser assim, porque a condição prioritaria é pra frente if(a>50.0); printf("frente"); // se não testa a segunda condicao else if(b>50.0); printf("direita"); // se não testa a terceira else if(c>50.0); printf("esquerda"); else printf("atras"); return 0; } /* // agora olha só... existe diferenças... // seu robo, se decidir ir pra frente ou ir pra tras, ele vai sair do lugar. // mas se decidir ir pra direita ou esquerda, ele só vai girar, depois que // ele vai decidir ir pra frente ou pra tras // você pode simular o labirinto assim: int array[10][10] = { {1,1,1,1,1,1,1,1,1,1}, {1,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,1}, {1,1,1,1,1,1,1,1,1,1} }; // ai, você coloca seu robo em algum ponto qualquer no lugar de 0. Pode usar random pra isso. // cada quadrado como 50 cm, cada 1 como parede, e cada 0 com espaço vazio // é melhor que digitar no seu scanf toda hora alem de deixar mais bonitinho... // aqui você encontra um exemplo legal de codigo como deixar mais bonitinho e até como // fazer aparecer o seu robo e as paredes: // https://en.wikipedia.org/wiki/ANSI_escape_code // ate postei o exemplo do codigo aqui: // https://www.clubedohardware.com.br/forums/topic/1562726-ubuntu-gcc-e-interfaces-gr%C3%A1ficas/ // se usar gotoxy, vai mover seu robo */
  7. Quando a gente sabe o que faz e o compilador dá permissão, quem manda é o desenvolvedor. Como eu lhe disse, se a linguagem fosse perfeita, não necessitava de abertura para descer ao nivel do assembly. Observe como eu fiz ai acima, quando você falou de que função recursiva só tem sentido quando retorna valor. Eu fiz usando ponteiro só pra mostrar que isso não é necessário nem obrigatorio. Nem te citei pra mostrar isso.
  8. tem como mostrar a fonte? eu não concordo com tudo o que vejo, mas apresento minha forma de fazer sem nem citar quem não concordo. E sempre apresento fontes.
  9. mas o que você não entendeu disso? comente o que entendeu seguido das linhas que entendeu e escreva não entendi isso seguido do que não entendeu... Basicamente, se você sabe que os numeros que entrar como parametro vão seguir a ordem, nem precisava desses testes dessas condicionais. o usuário arfneto deu uma excelente solução para o que quer: https://www.clubedohardware.com.br/forums/topic/1563959-gerar-valores-aleatórios-sem-repetição-em-uma-matriz/ Mas se achar complicado, ou considerar ilegivel, logo abaixo eu o mostro seu equivalente sem usar ponteiros.
  10. você fez o que já? pelo menos já fez o labirinto de testes? mostre o que já tem pronto.
  11. ja... já li, já trabalhei, já escrevi sobre tudo isso. Só que pilha e recursividade, não são a mesma coisa. O estouro de pilha acontece simplesmente por tentar colocar valores além do acordado na pilha. Entendeu? Não é assim que se programa. Até porque se a linguagem não tivesse limites, não teria nem necessidade pra descer ao nivel do assembly. E isso, como estou tentando lhe ensinar, é escolha do desenvolvedor. O compilador permite e dá ideias.... Assim como é o uso de goto. Eu não uso. Mas tem que goste de usa-lo.
  12. O senhor equivocado. Devia rever o que entende por programação. Não é assim com esse pensamento que se desenvolve programas. Uma forma comum de se fazer alteração, ou "receber um valor", pode ser passando um parametro na forma de ponteiro. Quem decide se vai usar ou não o valor de retorno não é a linguagem. É o desenvolvedor. Até porque muitas funções retornam valor apenas para testes (aguns ainda programam assim e funciona) e podem ser ignoradas quando não for necessidade testa-las. verdade. Obrigado. Eu não tinha visto isso. O senhor tem razão. não é o que está sendo discutido. Não vem ao caso. O assunto é recursividade. ele poderia chegar aos mesmos resultados apenas usando axiomas de peano. mas também não é o caso. Está equivocado quanto a isso também. ter a ver é uma coisa... a gora, ser, é outra. Por isso eu fui especifico quando eu disse que fazemos isso numa divisão. Mesmo no papel. Agora pilha é outra coisa. Pode olhar isso na diciplina de linguagens formais e sistemas automatos. É sim. Já falou disso, mas novamente agradeço, pois tem razão.
  13. pilha é outra coisa... pesquise o que é uma pilha em linguagens formais e automatos. Maquina de turing. Mas é como se fosse isso, se observar a ordem de execução dos processos. um processo (função) só termina quando todos os processos dentro dela terminarem. Isso quer dizer o return da primeira função só será dado depois que concluir todas as funções antes desse return. Então, na verdade, é que a ultima função chamada é que é a primeira a terminar.
  14. porque você está dizendo isso? não entendi... no primeiro momento que peguei esse exercicio a primeira coisa que fiz foi tirar essa condicional só pra não ter que digitar qualquer caractere.

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