{"id":950,"date":"2020-09-11T14:15:39","date_gmt":"2020-09-11T17:15:39","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/programacao\/?p=950"},"modified":"2021-06-18T11:01:26","modified_gmt":"2021-06-18T14:01:26","slug":"valores-repetidos-no-vetor","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/programacao\/valores-repetidos-no-vetor\/","title":{"rendered":"Encontrar valores repetidos no vetor"},"content":{"rendered":"\n<p>Esse post come\u00e7a comentando sobre uma ambiguidade em um enunciado de tarefa anterior. Vou replicar a atividade a solu\u00e7\u00e3o que desenvolvi para ela (junto com o v\u00eddeo onde explicado a solu\u00e7\u00e3o).<\/p>\n\n\n\n<p><strong>Enunciado:<\/strong> escreva um programa que receba do usu\u00e1rio um vetor com 20 valores inteiros e apresente o maior, o menor e suas respectivas posi\u00e7\u00f5es em que os mesmos foram informados. Caso existam n\u00fameros iguais mostre a posi\u00e7\u00e3o da primeira ocorr\u00eancia. &nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c\">#include &lt;stdio.h&gt;\n\n#define TAM 5 \/\/cria uma constante\n\nint main() {\n    int vet[TAM], i, maior, posMaior, menor, posMenor;\n\n    \/\/preenche o vetor\n    for (i = 0; i &lt; TAM; i++) {\n        scanf(\"%i\", &amp;vet[i]);\n    }\n\n    \/\/encontra o maior valor\n    maior    = vet[0];\n    posMaior = 0;\n    for (i = 1; i &lt; TAM; i++) {\n        if (vet[i] &gt; maior) {\n            maior    = vet[i];\n            posMaior = i;\n        }\n    }\n\n    \/\/encontra o menor valor\n    menor    = vet[0];\n    posMenor = 0;\n    for (i = 1; i &lt; TAM; i++) {\n        if (vet[i] &lt; menor) {\n            menor    = vet[i];\n            posMenor = i;\n        }\n    }\n\n    \/\/mostra o vetor\n    printf(\"Vetor: \");\n    for (i = 0; i &lt; TAM; i++) {\n        printf(\"%i \", vet[i]);\n    }\n\n    printf(\"\\nMaior valor: %i - posicao: %i\", maior, posMaior+1);\n    printf(\"\\nMenor valor: %i - posicao: %i\", menor, posMenor+1);\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p>Teste o c\u00f3digo em: <a href=\"https:\/\/ideone.com\/JpQqQm\">https:\/\/ideone.com\/JpQqQm<\/a><\/p>\n\n\n\n<p><strong>Resolu\u00e7\u00e3o em v\u00eddeo<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Maior e menor valor do vetor\" width=\"685\" height=\"514\" src=\"https:\/\/www.youtube.com\/embed\/JGu84T1QPHU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>Link para o v\u00eddeo:<\/strong><a rel=\"noreferrer noopener\" href=\"https:\/\/youtu.be\/JGu84T1QPHU\" target=\"_blank\">https:\/\/youtu.be\/JGu84T1QPHU<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">&lt;hr\/&gt;<\/code><\/pre>\n\n\n\n<p>A solu\u00e7\u00e3o apenas indicava a primeira ocorr\u00eancia no vetor do maior e do menor valor presente (era o que eu esperava com o enunciado), mas fui questionado sobre o enunciado e resolvi apresentar uma outra solu\u00e7\u00e3o (o questionamento foi explicado no v\u00eddeo). O v\u00eddeo a seguir apresenta a codifica\u00e7\u00e3o para identificar os valores repetidos no vetor.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"c\" class=\"language-c\">\/\/Caso existam n\u00fameros iguais mostre a posi\u00e7\u00e3o da primeira ocorr\u00eancia.\n\n#include &lt;stdio.h&gt;\n\n#define TAM 5 \/\/cria uma constante\n\nint main() {\n    int vet[TAM], i, j, valor;\n\n    \/\/preenche o vetor\n    for (i = 0; i &lt; TAM; i++) {\n        scanf(\"%i\", &amp;vet[i]);\n    }\n\n    for (i = 0; i &lt; TAM; i++) {\n        for (j = i+1; j &lt; TAM; j++) {\n            if (vet[i] == vet[j]) {\n                printf(\"Valor repetido :%i: nos indices %i e %i\", vet[i], i, j);\n                for (j = j+1; j &lt; TAM; j++) {\n                    if (vet[i] == vet[j]) {\n                        printf(\" e %i\", j);\n                    }\n                }\n                printf(\"\\n\");\n            }\n        }\n    }\n\n\n    return 0;\n}<\/code><\/pre>\n\n\n\n<p><strong>Resolu\u00e7\u00e3o em v\u00eddeo<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Valores repetidos no vetor\" width=\"685\" height=\"385\" src=\"https:\/\/www.youtube.com\/embed\/MlgUOfnbguQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Esse post come\u00e7a comentando sobre uma ambiguidade em um enunciado de tarefa anterior. Vou replicar a atividade a solu\u00e7\u00e3o que desenvolvi para ela (junto com o v\u00eddeo onde explicado a solu\u00e7\u00e3o). Enunciado: escreva um programa que receba do usu\u00e1rio um vetor com 20 valores inteiros e apresente o maior, o menor e suas respectivas posi\u00e7\u00f5es [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3,4],"tags":[],"class_list":["post-950","post","type-post","status-publish","format-standard","hentry","category-c","category-videos"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/comments?post=950"}],"version-history":[{"count":4,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/950\/revisions"}],"predecessor-version":[{"id":1033,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/950\/revisions\/1033"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/media?parent=950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/categories?post=950"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/tags?post=950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}