Carlos Rocha Posted October 18, 2018 at 02:27 PM Report #612105 Posted October 18, 2018 at 02:27 PM Preciso de um função em C++ que faça o mesmo que Array.prototype.includes, no JavaScript var e = Array (10,20,30,40, 50); for (j = 0; j < 50; j++) { if (e.includes(j)) document.write ("O numero escolhido é: " + j + "<br />"); else document.write ("O numero NÃO escolhido é: " + j + "<br />"); } OU IN no PHP $e = {10,20,30,40, 50}; for (j = 0; j < 50; j++) { if (j IN e) echo "O numero escolhido é: " + j + "<br />"; else echo O numero NÃO escolhido é: " + j + "<br />"; } O objetivo aqui é retirar as repetições. Necessito de um código em C++ que me retorne da seguinte forma: O numero NÃO escolhido é: 0 O numero NÃO escolhido é: 1 O numero NÃO escolhido é: 2 O numero NÃO escolhido é: 3 O numero NÃO escolhido é: 4 O numero NÃO escolhido é: 5 O numero NÃO escolhido é: 6 O numero NÃO escolhido é: 7 O numero NÃO escolhido é: 8 O numero NÃO escolhido é: 9 O numero escolhido é: 10 O numero NÃO escolhido é: 11 O numero NÃO escolhido é: 12 O numero NÃO escolhido é: 13 O numero NÃO escolhido é: 14 O numero NÃO escolhido é: 15 O numero NÃO escolhido é: 16 O numero NÃO escolhido é: 17 O numero NÃO escolhido é: 18 O numero NÃO escolhido é: 19 O numero escolhido é: 20 O numero NÃO escolhido é: 21 O numero NÃO escolhido é: 22 O numero NÃO escolhido é: 23 O numero NÃO escolhido é: 24 O numero NÃO escolhido é: 25 O numero NÃO escolhido é: 26 O numero NÃO escolhido é: 27 O numero NÃO escolhido é: 28 O numero NÃO escolhido é: 29 O numero escolhido é: 30 O numero NÃO escolhido é: 31 O numero NÃO escolhido é: 32 O numero NÃO escolhido é: 33 O numero NÃO escolhido é: 34 O numero NÃO escolhido é: 35 O numero NÃO escolhido é: 36 O numero NÃO escolhido é: 37 O numero NÃO escolhido é: 38 O numero NÃO escolhido é: 39 O numero escolhido é: 40 O numero NÃO escolhido é: 41 O numero NÃO escolhido é: 42 O numero NÃO escolhido é: 43 O numero NÃO escolhido é: 44 O numero NÃO escolhido é: 45 O numero NÃO escolhido é: 46 O numero NÃO escolhido é: 47 O numero NÃO escolhido é: 48 O numero NÃO escolhido é: 49 Obrigado
HappyHippyHippo Posted October 18, 2018 at 04:19 PM Report #612106 Posted October 18, 2018 at 04:19 PM em vez de dar a solução, podes dizer qual a parte da linguagem que não consegues transpor para C++ ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Carlos Rocha Posted October 18, 2018 at 05:03 PM Author Report #612107 Posted October 18, 2018 at 05:03 PM Ok. Tentei da forma abaixo mas não encontrei uma equivalência IN em C++ #include <iostream> using namespace std; int main (void){ int e[5] = {10,20,30,40,50}; for (int i = 0; i <= 99; i++){ if ( i in e ) cout << e[i] ; } }
Carlos Rocha Posted October 18, 2018 at 08:40 PM Author Report #612110 Posted October 18, 2018 at 08:40 PM Assim deu certo: #include <iostream> #include <algorithm> // inclusão do header associado using namespace std; int main (void){ int e[5] = {10,20,30,40,50}; for (int j = 0; j < 50; j++) { int achou = 0; for (int i = 0; i < 5; i++){ if (j == e[i]) achou ++; } if (achou > 0 ) printf (j + "Achou!<br />"); else printf (j + "Não achou!<br />"); } } será que dá para otimizar?
Rui Carlos Posted October 18, 2018 at 09:34 PM Report #612111 Posted October 18, 2018 at 09:34 PM Em C++ podes usar a função std::find. Uma optimização trivial no código que tens é parar o ciclo interno assim que achou for maior do que zero. Se sabes que o array está ordenado, e se o mesmo pode ser relativamente grande, pode valer a pena considerares a pesquisa binária. Nesse teu código em particular estás a iterar valores por ordem crescente, pelo que podias simplesmente ir avançando no array e à medida que j é maior do que a posição actual. Rui Carlos Gonçalves
Carlos Rocha Posted October 18, 2018 at 09:49 PM Author Report #612113 Posted October 18, 2018 at 09:49 PM pois é. Mas como pode observar, preciso também das vezes em que a verdade não acontece! Isto é, o ELSE
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now