(1) Programação em C++
2 participantes
Página 1 de 1
(1) Programação em C++
What is the output of this code?
int a[3] = { 9, 3, 4 };
for (int i=2; i>0; i--) {
a[0]+=a[i];
}
cout << a[0];
Por que 2? Podem me explicar minunciosamente?
int a[3] = { 9, 3, 4 };
for (int i=2; i>0; i--) {
a[0]+=a[i];
}
cout << a[0];
- Gabarito:
- 2
Por que 2? Podem me explicar minunciosamente?
Re: (1) Programação em C++
Impossível ser 2.
Primeiro você criou uma array com 3 índices {9,3,4} o índice 0 é o número 9. Na programação começamos a contar do 0.
Dentro do for você definiu uma var com valor 2 e disse que enquanto ela for maior do que zero você somará um valor de a do índice i à a[0], e a cada ciclo i perde 1. Assim:
1°) Você somou 9 + 4, a[0] passou a ser 13
2°) Você somou 13 + 3, a[0] passou a ser 16
Fim do ciclo porque i não é maior que zero, i = 0.
Mostrar 16 como valor final.
--------------------
Para ser 2 como valor final deveria ser:
int a[3] = { 9, 3, 4 };
for (int i=2; i>0; i--) {
a[0]-=a[i]; // - ao invés de+ aqui.
}
cout << a[0];
Primeiro você criou uma array com 3 índices {9,3,4} o índice 0 é o número 9. Na programação começamos a contar do 0.
Dentro do for você definiu uma var com valor 2 e disse que enquanto ela for maior do que zero você somará um valor de a do índice i à a[0], e a cada ciclo i perde 1. Assim:
1°) Você somou 9 + 4, a[0] passou a ser 13
2°) Você somou 13 + 3, a[0] passou a ser 16
Fim do ciclo porque i não é maior que zero, i = 0.
Mostrar 16 como valor final.
--------------------
Para ser 2 como valor final deveria ser:
int a[3] = { 9, 3, 4 };
for (int i=2; i>0; i--) {
a[0]-=a[i]; // - ao invés de+ aqui.
}
cout << a[0];
Matheus José- Mestre Jedi
- Mensagens : 630
Data de inscrição : 29/10/2015
Idade : 26
Localização : Santos
Re: (1) Programação em C++
Por que somar +4 e +3 a 9 e 13, respectivamente, nos passos "1º" e "2º" que você postou?
PS: me enganei, é "-" no lugar de "+" mesmo.
PS: me enganei, é "-" no lugar de "+" mesmo.
Re: (1) Programação em C++
O for irá rodar o ciclo duas vezes.
3 e 4 são os índices 1 e 2 de a respectivamente.
1 e 2 são os valores que i assume.
edit: no caso subtrair já que o sinal é -.
3 e 4 são os índices 1 e 2 de a respectivamente.
1 e 2 são os valores que i assume.
edit: no caso subtrair já que o sinal é -.
Matheus José- Mestre Jedi
- Mensagens : 630
Data de inscrição : 29/10/2015
Idade : 26
Localização : Santos
Tópicos semelhantes
» (2) Programação em C++
» (3) Programação C++
» Lógica de programação
» Linguagens de programação
» Programação em C
» (3) Programação C++
» Lógica de programação
» Linguagens de programação
» Programação em C
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos