Ir ao conteúdo

Posts recomendados

Postado

1) a=15 b=3
b%=a            // b=30
a=b++           // a=30, b=31

O resultado não teria que ser 30, que é o resto da divisão de 3/15?

 

2)

int a=15

int b=2

b*=a

pintf(%d, %d, a, b,)

b=a--

printf(%d, %d, a,b)

 

O resultado não seria a=15, b=30, a'=29 b'=30?

3)

y=0

p=&y

x=*p

x=4

(*p)++;

 x--;

(*p) += x

 

A resposta é x=3 e y=4; mas não sei como fazer a partir do (*p)++!

Postado

Esmiuçamos o primeiro quest:

Q Igualdade de b%= a é  mesmo que b = b % a, a := 15; b := 3 então temos [ 3 %(módulo)15 ] = 3 e trinta está errado.

>.<

adicionado 1 minuto depois

Entendo que se o numerado for menor que o denominador 3/15 o módulo é o próprio numerado, o operador % exigi divisões inteiras.

Postado
1 hora atrás, Guilherme Roda de Miranda disse:

De acordo com a apostila o % significa o resto da visão entre os números operados. Então 3 % 15 é o resto da divisão 3/15, o qual é 30. Mas a resposta está outro valor. É possível fazer a segunda para eu entender?

Quando na apostila te faz entender que o resto de uma divisão é  %, faltou entender também que o NUMERADOR é maior que Denominador caso contrário, o resultado é o próprio NUMERADOR:

Por exemplo: 35 % 6 -> 5, porque 5 não é divisível inteiro de 6, o mesmo acontece se testarmos 5 % 6 -> 5.

 

Conclua-se que o Y % (módulo) X é o valor que não é múltiplo de X | < X, se Y for < X então o % Módulo é Y . 

 

Postado

Pessoal, 3/15 dá 0, com o resto igual a 30.  30/15 = 2. 

adicionado 5 minutos depois
1 hora atrás, Mauro Britivaldo disse:

o mesmo acontece se testarmos 5 % 6 -> 5.

No caso, o resto é 50, 5/6 é igual a 0 com resto 50. 5%6 -> 50

É possível alguém fazer a questão dois, por favor.

Postado

Nao, a 2 seria 15 30 14 15.

Quanto a questao 1, supondo que você tenha 3 balas e queira dividir entre 15 amigos, você vê que não tem como dividir igualmente com todos então resolve não dar nenhuma bala a eles. Depois disso com quantas balas você ficaria? 3 ou 30? Isso tudo é matemática, não matemágica.

Postado

Muito obrigado pela resposta da questão 2, mas ainda não compreendi em relação ao resto; o método da divisão continua assim, resolvendo 3/15 tenho 0, mas não tenho o resto 3 pois lhe acrescento o 0; há uma outra lógica na atribuição do 0. Alguém disposto a resolver a questão 3? (está difícil entender o *p e &)

 

Postado

Você sabe manusear ponteiros? A questão 3 é só isso.

como p é um ponteiro (*p) e p aponta para o endereço de y (p=&y) tudo que você fizer com *p acontece com y e vice versa.

Por exemplo, quando você faz *p++ é a mesma coisa que y++ nesse exercício.

 

 

Quanto a questão 1, por que você está acrescentando 0?

divisao.png

  • Curtir 1
Postado

Isso é só pra quando você quer continuar a conta e obter uma resposta com número quebrado. mas no caso do operador % ( que calcula o resto da divisão), ele espera que o resultado da divisão seja inteiro (sem vírgula), então não adiciona o dígito 0.

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

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