1098 - Wrong answer (5%)
Pessoal, estou com uma dificuldade de identificar onde errei!
o beecrowd acusa:
meu código está assim:
double i = 0;
double j = 1;
for (int cont = 0; i <= 2; i += 0.2, j +=1.2)
{
if(cont == 0)
{
Console.WriteLine($"I={i} J={j:f0}");
j++;
Console.WriteLine($"I={i} J={j:f0}");
j++;
Console.WriteLine($"I={i} J={j:f0}");
j -= 3;
}
else
{
Console.WriteLine($"I={i:f1} J={j:f1}");
j++;
Console.WriteLine($"I={i:f1} J={j:f1}");
j++;
Console.WriteLine($"I={i:f1} J={j:f1}");
j -= 3;
}
cont++;
e na saída do console está exatamente como o beecrowd pede:
Linked from:
André Filipe @andresantosNote que você poderia usar apenas uma variável:
for(double i = 0; i <= 2; i += 0.2) { Console.WriteLine($"I={i} J={i + 1}"); Console.WriteLine($"I={i} J={i + 2}"); Console.WriteLine($"I={i} J={i + 3}"); }
Denilson Bezerra @denilsonbezerraGenial!!! Meu cérebro trabalhando a mil eu não conseguia perceber uma solução simples dessa.
Minha solução foi com operação matemática arredondando com Math.Round:for (double i = 0, j = 1; i <= 2; j++) { Console.WriteLine($"I={i} J={j}"); if (j == i + 3) { i = Math.Round(i + 0.2, 1); j = Math.Round(j - 2.8, 1); } }- Em resposta aandresantos⬆:PPedro Cruz Arquitetura @PedroCruz
Gênio! gostei muito dessa solução, valeu André!
Em resposta aPedroCruz⬆:Jéssica Cirne @jessicacirneQuestão chata essa, tô presa nela a um tempão! Mas a sua solução me fez ver uma nova perspectiva mais simples do que a forma que eu estava tentando fazer. Massa!
Em resposta aPedroCruz⬆:Lucas Ferreira @lksferreiraHello @PedroCruz ,
Infelizmente o beecrowd é muito enjoado com a formatação de saída, tem que estar igualzinho, nos mínimos detalhes, o problema do seu código esta no arredondamento, perceba que no exemplo do exercício, toda vez que a saída é um inteiro, ele não apresenta casa decimal.
Por tanto o seu output também não pode apresentar casas decimais quando o número for "redondo".
Se você tiver dúvida quanto ao resultado final, confira aqui: https://www.udebug.com/URI/1098
Não vou te dar a resposta de como fazer, mas vou te dar alguma dica: Tente outro método de arredondamento.
Caso ainda sim não consiga, me avisa... Fui fflwwwww
- PPedro Cruz Arquitetura @PedroCruz
Fala @lksferreira!
muito obrigado pela atenção que você me deu! vou dar uma olhada mais afundo nesse udebug! achei muito interessante!
Cara o meu grande problema é que eu tentei ir pelo caminho de deixar os numeros inteiros arredondados também! porém mesmo assim o beecrowd não simpatizou muito!
saca só meu novo código:double i = 0; double j = 1; for (int cont = 0; i <= 2; i += 0.2, j +=1.2) { if(i == 0 || i == 1 || i == 2) { Console.WriteLine($"I={i} J={j:f0}"); j++; Console.WriteLine($"I={i} J={j:f0}"); j++; Console.WriteLine($"I={i} J={j:f0}"); j -= 3; } else { Console.WriteLine($"I={i:f1} J={j:f1}"); j++; Console.WriteLine($"I={i:f1} J={j:f1}"); j++; Console.WriteLine($"I={i:f1} J={j:f1}"); j -= 3; }A resposta do console:
e o erro do beecrowd :
acredito que o metodo certo seja por outro caminho diferente desse que pensei, e o beecrowd deve estar implicando com isso.
Em resposta aPedroCruz⬆:Ricardo Vieira @RicardoÉ questão de arredondamento mesmo. Recomendo dar uma olhada no método :
ToString("0.##")- PPedro Cruz Arquitetura @PedroCruz
valeu @Ricardo muito obrigado pela dica!
vou dar uma atenção nisso! - Em resposta aRicardo⬆:VVANESSA PEREIRA @van_pereira
Obrigada pela dica, também estava errando no arredondamento, agora deu certo!