Estrutura de repetição (LOOP) em C
2 participantes
Página 1 de 1
Estrutura de repetição (LOOP) em C
Boa tarde, estou tentando implementar no algoritmo a seguinte ordem de ciclos e ações:
ciclo ação
força dobra // ciclo 1
jedi + 1000 // ciclo 2
força dobra // ciclo 3 (repetição do ciclo 1)
jedi + 1000 // ciclo 4 (repetição do ciclo 2)
.... ..... // ciclo n
e assim sucessivamente
ou seja, o que desejo fazer é isso:
valor = 1000 n = 4 ciclos (digitado)
* ciclo 1: 1000*2 = 2000
* ciclo 2: 1000 + 1000 = 2000
* ciclo 3: 2000*2 = 4000
* ciclo 4: 2000 + 1000 = 3000
total: 11000
Pedaço do meu código:
/* Ciclos de Treinamento */
forca = valor*2; // ciclo 1
jedi = valor + 1000; // ciclo 2
parcial1,parcial2 = 0;
for (i=0 ; i <= n-2 ; i++ )
{
if (i % 2 != 0)
{
nforca = forca*2; // ciclo 3
parcial1 = parcial1 + nforca;
}
else
{
njedi = jedi + 1000; // ciclo 4
parcial2 = parcial2 + njedi;
}
}
parcial = parcial1 + parcial2;
total = forca + jedi + parcial;
Não consigo chegar nesse valor de 11000, se alguém puder contribuir.
Antecipadamente agradeço
ciclo ação
força dobra // ciclo 1
jedi + 1000 // ciclo 2
força dobra // ciclo 3 (repetição do ciclo 1)
jedi + 1000 // ciclo 4 (repetição do ciclo 2)
.... ..... // ciclo n
e assim sucessivamente
ou seja, o que desejo fazer é isso:
valor = 1000 n = 4 ciclos (digitado)
* ciclo 1: 1000*2 = 2000
* ciclo 2: 1000 + 1000 = 2000
* ciclo 3: 2000*2 = 4000
* ciclo 4: 2000 + 1000 = 3000
total: 11000
Pedaço do meu código:
/* Ciclos de Treinamento */
forca = valor*2; // ciclo 1
jedi = valor + 1000; // ciclo 2
parcial1,parcial2 = 0;
for (i=0 ; i <= n-2 ; i++ )
{
if (i % 2 != 0)
{
nforca = forca*2; // ciclo 3
parcial1 = parcial1 + nforca;
}
else
{
njedi = jedi + 1000; // ciclo 4
parcial2 = parcial2 + njedi;
}
}
parcial = parcial1 + parcial2;
total = forca + jedi + parcial;
Não consigo chegar nesse valor de 11000, se alguém puder contribuir.
Antecipadamente agradeço
wacandido- Padawan
- Mensagens : 72
Data de inscrição : 02/10/2012
Idade : 42
Localização : Rio de Janeiro - Brasil
Re: Estrutura de repetição (LOOP) em C
for (i=0; i <= n-2; i++)
Nessa parte você vai repetir o ciclo 3 vezes. O certo seria repetir apenas 2 vezes (ciclos 3 e 4):
for (i=0; i < n-2; i++)
Dica: tente deixar seu código mais objetivo e sucinto.
- Código:
int forca = valor, jedi = valor; /*Aqui eu associo "forca" e "jedi" a "valor". Assim,
você não precisa repetir "valor" no loop.*/
soma1 = 0, soma2 = 0;
for (ciclo = 1; ciclo <= n ; ciclo++) /*Observe que os ciclos 1 e 2 já estão dentro
do loop. Assim seu código ficará mais fluido.*/
{
if (ciclo % 2 != 0)
{
forca *= 2; //Ao invés de usar x = x * 2, use x *= 2. O mesmo vale para a soma.
soma1 += forca;
}
else
{
jedi += 1000;
soma2 += jedi;
}
}
int total = soma1 + soma2;
xSoloDrop- Fera
- Mensagens : 492
Data de inscrição : 23/03/2015
Idade : 26
Localização : Araçatuba SP
Re: Estrutura de repetição (LOOP) em C
xSoloDrop escreveu:for (i=0; i <= n-2; i++)Nessa parte você vai repetir o ciclo 3 vezes. O certo seria repetir apenas 2 vezes (ciclos 3 e 4):for (i=0; i < n-2; i++)Dica: tente deixar seu código mais objetivo e sucinto.
- Código:
int forca = valor, jedi = valor; /*Aqui eu associo "forca" e "jedi" a "valor". Assim,
você não precisa repetir "valor" no loop.*/
soma1 = 0, soma2 = 0;
for (ciclo = 1; ciclo <= n ; ciclo++) /*Observe que os ciclos 1 e 2 já estão dentro
do loop. Assim seu código ficará mais fluido.*/
{
if (ciclo % 2 != 0)
{
forca *= 2; //Ao invés de usar x = x * 2, use x *= 2. O mesmo vale para a soma.
soma1 += forca;
}
else
{
jedi += 1000;
soma2 += jedi;
}
}
int total = soma1 + soma2;
xSoloDrop- Fera
- Mensagens : 492
Data de inscrição : 23/03/2015
Idade : 26
Localização : Araçatuba SP
Tópicos semelhantes
» Estrutura de repetição
» Estrutura de repetição
» Estrutura de repetição
» Estrutura de repetição do...while - java
» Atrito no loop
» Estrutura de repetição
» Estrutura de repetição
» Estrutura de repetição do...while - java
» Atrito no loop
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|