Preciso pôr dentro do código (uso a IDE do arduino 1.8.16 para programar o ESP32 ), uma espécie de matriz onde eu tenho na primeira coluna um número X, na frente deste número X eu tenho 2 valores (também números) que deverão ser passados para duas String´s no momento certo. Tipo assim:

int x;

String valorA;

String valorB;

x          valorA        valorB

1          12347        233455678

2          43216        115678765

3          11224        456784567

.               .                .

.               .                .

10        23610         237866788

Quando oi valor de X for 2, a String valorA deve mudar para 43216 e a valor B para 115678765. Quando X mudar para 1, valorA deve mudar para 12347 e valorB para 233455678

Como é que eu coloco esta matriz num código em branco ? e como faço para as atribuições funcionarem conforme X dor mudando ?

Grato

  

Exibições: 82

Responder esta

Respostas a este tópico

Bom dia,

recomendo que você estude C, ou C++.

Aqui tem um bom curso:

https://www.learncpp.com/

Se tiver dificuldade com o inglês, pressione o bolão direito do mouse sobre a pagina,

e selecione "translate to português".

Teste este código e entenda como ele funciona.

sketch_jun07a.ino

Legal RV! eu pensava que, para definir valores numa matriz, eu tinha que informar a variável várias vezes. ex:

var[0][0] = 1;

var[0][1] = 1;

var[1][0] = 1;

var[1][1] = 1;

var[2][0] = 1....

o método que você apresentou é muito melhor.

Agradeço sempre boas respostas, quando vêm com código então, mais ainda.

Aqui tem o material sobre este tema e em português:

http://www.squids.com.br/arduino/index.php/software/dicas/269-como-...

Estou pesquisando sobre o erro que deu ao colocar numa linha números com mais do que 9 dígitos. No meu caso terão no máximo 15 dígitos cada coluna. A linha 3 não sai igual no monitor serial:

 

//x        valorA                     valorB
//1        12347                  233455678
//2        43216                  115678765
//3        1122498799       234456784567

... pesquisando

Olá, Sérgio:

   Com números decimais de 10 dígitos você precisa de 33 bits para representá-los internamente na memória do computador. Isto te diz alguma coisa?

D. T. Ribeiro.

P. S.: Como calcular quantos bits b são necessários para representar um número decimal N:

      b = N / log( 2 )

Mas atenção!

   log( 2 ) nesta expressão é o logaritmo decimal de 2 ( aprox. 0.30103 ) e não o neperiano ( ou natural ) como esta designação é usada em C/C++. Em C/C++ o logaritmo decimal de x é log10( x ) e o logaritmo neperiano é log( x ).

Olá Sérgio!

   Retificando, o correto do P.S. da resposta anterior é 

         P. S.: Como calcular quantos bits b são necessários para representar um número decimal com N dígitos:

   O resto está correto.

D. T. Ribeiro.

Olá Sérgio França.

Caso seu problema tenha sido resolvido, por favor, adicione um "(Resolvido)" no título do tópico.

RSS

© 2022   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço