{"id":638,"date":"2017-05-29T13:54:05","date_gmt":"2017-05-29T16:54:05","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/programacao\/?p=638"},"modified":"2021-06-18T15:10:54","modified_gmt":"2021-06-18T18:10:54","slug":"ordenacao-vetor-sem-metodos","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/programacao\/ordenacao-vetor-sem-metodos\/","title":{"rendered":"Ordena\u00e7\u00e3o de vetor sem m\u00e9todos j\u00e1 consolidados"},"content":{"rendered":"\n<p>Elabora nesse post&nbsp;um algoritmo para a leitura de&nbsp;10 valores e depois mostrar esses valores em ordem crescente.<\/p>\n\n\n\n<p>Na computa\u00e7\u00e3o j\u00e1 existem diversos m\u00e9todos de ordena\u00e7\u00e3o j\u00e1 consolidados e bastante utilizados, como os algoritmos de inser\u00e7\u00e3o, sele\u00e7\u00e3o, Bubble sort, entre outros. <a href=\"https:\/\/pt.wikipedia.org\/wiki\/Algoritmo_de_ordena%C3%A7%C3%A3o\" target=\"_blank\" rel=\"noopener noreferrer\">Veja mais clicando aqui<\/a>. Meu objetivo \u00e9 desenvolver uma solu\u00e7\u00e3o que n\u00e3o utiliza esses algoritmos. Logicamente minha solu\u00e7\u00e3o n\u00e3o ser\u00e1 a mais adequada nesse sentido e ela tem apenas objetivos did\u00e1ticos.<\/p>\n\n\n\n<p>Minha primeira solu\u00e7\u00e3o considera que os 10 valores fornecidos s\u00e3o todos diferentes uns dos outros, enquanto a segunda solu\u00e7\u00e3o essa restri\u00e7\u00e3o n\u00e3o \u00e9 necess\u00e1ria.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><strong>Solu\u00e7\u00e3o 1 &#8211;&nbsp;primeira parte<\/strong><\/p>\n\n\n\n<p>O objetivo da primeira parte \u00e9 apenas encontrar o menor valor do conjunto.<\/p>\n\n\n\n<pre class=\"wp-block-code lang:c decode:true\"><code lang=\"c\" class=\"language-c\">#include &lt;stdio.h&gt;\n\nint main(void) {\n\tint vet[10], i, menor;\n\t\n\tfor (i=0; i&lt;10; i++) {\n\t\tscanf(\"%i\", &amp;vet[i]);\n\t}\n\t\n\tmenor = vet[0];\n\tfor (i=0; i&lt;10; i++) {\n\t\tif (vet[i] &lt; menor) {\n\t\t\tmenor = vet[i];\n\t\t}\n\t}\n\tprintf(\"%i \", menor);\n\t\n\treturn 0;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-right\"><strong>Teste o c\u00f3digo:<\/strong>&nbsp;<a href=\"http:\/\/ideone.com\/hUtlZz\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/ideone.com\/hUtlZz<\/a><\/p>\n\n\n\n<p><strong>Solu\u00e7\u00e3o 1 &#8211; segunda&nbsp;parte<\/strong><\/p>\n\n\n\n<p>A segunda parte ir\u00e1 mostrar todos os valores em ordem crescente.<\/p>\n\n\n\n<pre class=\"wp-block-code lang:c decode:true\"><code lang=\"c\" class=\"language-c\">#include &lt;stdio.h&gt;\n\nint main(void) {\n\tint vet[10], i, j, menor, antigoMenor;\n\t\n\tfor (i=0; i&lt;10; i++) {\n\t\tscanf(\"%i\", &amp;vet[i]);\n\t}\n\t\n\t\/\/encontra o menor\n\tmenor = vet[0];\n\tfor (i=0; i&lt;10; i++) {\n\t\tif (vet[i] &lt; menor) {\n\t\t\tmenor = vet[i];\n\t\t}\n\t}\n\tprintf(\"%i \", menor);\n\n\t\/\/mostra em ordem os demais valores\n\tantigoMenor = menor;\n\tfor (j=0; j &lt; 9; j++) { \/\/9 porque j\u00e1 foi mostrado o menor de todos antes\n\t\tfor (i=0; i&lt;10; i++) {\n\t\t\tif (vet[i] &gt; antigoMenor) {\n\t\t\t\tmenor = vet[i];\n\t\t\t}\n\t\t}\n\t\t\n\t\tfor (i=0; i&lt;10; i++) {\n\t\t\tif (vet[i] &lt; menor &amp;&amp; vet[i] &gt; antigoMenor) {\n\t\t\t\tmenor = vet[i];\n\t\t\t}\n\t\t}\n\t\tantigoMenor = menor;\n\t\tprintf(\"%i \", menor);\n\t}\n\t\n\treturn 0;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-right\"><strong>Teste o c\u00f3digo:<\/strong>&nbsp;<a href=\"http:\/\/ideone.com\/CkmfVQ\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/ideone.com\/CkmfVQ<\/a><\/p>\n\n\n\n<p><strong>Solu\u00e7\u00e3o 2&nbsp;&#8211; em linguagem C\/C++<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code lang:c decode:true\"><code lang=\"c\" class=\"language-c\">#include &lt;stdio.h&gt;\n\nint main(void) {\n\tint vet[10], i, j, menor, antigoMenor, cont=0, cont2;\n\t\n\tfor (i=0; i&lt;10; i++) {\n\t\tscanf(\"%i\", &amp;vet[i]);\n\t}\n\t\n\t\/\/encontra o menor\n\tmenor = vet[0];\n\tfor (i=0; i&lt;10; i++) {\n\t\tif (vet[i] &lt; menor) {\n\t\t\tmenor = vet[i];\n\t\t}\n\t}\n\tprintf(\"%i \", menor);\n\t\n\t\/\/verifica quantas vezes o menor valor aparece\n\tfor (i=0; i&lt;10; i++) {\n\t\tif (vet[i] == menor) {\n\t\t\tcont++;\n\t\t}\n\t}\n\tcont--; \/\/o primeiro n\u00famero j\u00e1 foi mostrado\n\n\t\/\/mostra em ordem os demais valores\n\tantigoMenor = menor;\n\tfor (j=0; j &lt; 9; j++) {\n\t\tif (cont == 0) {\n\t\t\tfor (i=0; i&lt;10; i++) {\n\t\t\t\tif (vet[i] &gt; antigoMenor) {\n\t\t\t\t\tmenor = vet[i];\n\t\t\t\t} \n\t\t\t}\n\t\t\t\n\t\t\tfor (i=0; i&lt;10; i++) {\n\t\t\t\tif (vet[i] &lt; menor &amp;&amp; vet[i] &gt; antigoMenor) {\n\t\t\t\t\tmenor = vet[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t\/\/verifica quantas vezes o menor valor aparece\n\t\t\t\/\/copiado do trecho anterior\n\t\t\tfor (i=0; i&lt;10; i++) {\n\t\t\t\tif (vet[i] == menor) {\n\t\t\t\t\tcont++;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tantigoMenor = menor;\n\t\t}\n\t\tcont--;\n\t\tprintf(\"%i \", menor);\n\t}\n\t\n\treturn 0;\n}\n<\/code><\/pre>\n\n\n\n<p class=\"has-text-align-right\"><strong>Teste o c\u00f3digo:<\/strong>&nbsp;<a href=\"http:\/\/ideone.com\/Oyvce1\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/ideone.com\/Oyvce1<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Elabora nesse post&nbsp;um algoritmo para a leitura de&nbsp;10 valores e depois mostrar esses valores em ordem crescente. Na computa\u00e7\u00e3o j\u00e1 existem diversos m\u00e9todos de ordena\u00e7\u00e3o j\u00e1 consolidados e bastante utilizados, como os algoritmos de inser\u00e7\u00e3o, sele\u00e7\u00e3o, Bubble sort, entre outros. Veja mais clicando aqui. Meu objetivo \u00e9 desenvolver uma solu\u00e7\u00e3o que n\u00e3o utiliza esses algoritmos. [&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],"tags":[49,14],"class_list":["post-638","post","type-post","status-publish","format-standard","hentry","category-c","tag-ordenacao","tag-vetor"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/638","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=638"}],"version-history":[{"count":5,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/638\/revisions"}],"predecessor-version":[{"id":1054,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/638\/revisions\/1054"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/media?parent=638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/categories?post=638"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/tags?post=638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}