Ordenar 3 números de menor a mayor en C++

Publicado por Mao
hace 11 años

<pre class="prettyprint prettyprinted"><span class="com">#include</span><span class="pln"> </span><span class="str">&lt;iostream&gt;</span><br /><span class="com">#include</span><span class="pln"> </span><span class="str">&lt;math.h&gt;</span><br /><span class="kwd">using</span><span class="pln"> </span><span class="kwd">namespace</span><span class="pln"> std</span><span class="pun">;</span><span class="pln"> </span><br /><span class="pln">     </span><span class="kwd">int</span><span class="pln"> main</span><span class="pun">(){</span><br /><span class="pln">       </span><span class="kwd">int</span><span class="pln"> numero1</span><span class="pun">;</span><br /><span class="pln">       </span><span class="kwd">int</span><span class="pln"> numero2</span><span class="pun">;</span><br /><span class="pln">       </span><span class="kwd">int</span><span class="pln"> numero3</span><span class="pun">;</span><span class="pln"> </span><br /><span class="pln">        </span><span class="pun">{</span><span class="pln">              </span><span class="com">//en este caso que iria antes del bloque?</span><br /><span class="pln">     cout</span><span class="pun">&lt;&lt;</span><span class="str">"hola mundo, este es mi segundo programa."</span><span class="pun">&lt;&lt;</span><span class="pln">endl</span><span class="pun">;</span><br /><span class="pln">     cout</span><span class="pun">&lt;&lt;</span><span class="str">"Ahora ingresa tres numero enteros positivos, vamos a ordenarlo de mayor a menor!!"</span><span class="pun">&lt;&lt;</span><span class="pln">endl</span><span class="pun">;</span><br /><span class="pln">     cin</span><span class="pun">&gt;&gt;</span><span class="pln">numero1</span><span class="pun">;</span><br /><span class="pln">     cin</span><span class="pun">&gt;&gt;</span><span class="pln">numero2</span><span class="pun">;</span><br /><span class="pln">     cin</span><span class="pun">&gt;&gt;</span><span class="pln">numero3</span><span class="pun">;</span><br /><span class="pln">   </span><br /><span class="pln">       </span><span class="kwd">int</span><span class="pln"> calculo1</span><span class="pun">();</span><span class="pln">  </span><br /><span class="pln">       </span><br /><span class="pln">       </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero2</span><span class="pun">&gt;</span><span class="pln">numero3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><br /><span class="pln">      cout</span><span class="pun">&lt;&lt;</span><span class="str">"el numero mayor es el numero2"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln">  </span><span class="pun">};</span><br /><span class="pln">      </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero3</span><span class="pun">&gt;</span><span class="pln">numero2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><br /><span class="pln">    </span><br /><span class="pln">          cout</span><span class="pun">&lt;&lt;</span><span class="str">"el numero mayor es el numero 3"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln">  </span><span class="pun">}</span><br /><span class="pun">}</span><br /><span class="pln">      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero3</span><span class="pun">&gt;</span><span class="pln">numero1</span><span class="pun">);</span><br /><span class="pln">      cout</span><span class="pun">&lt;&lt;</span><span class="str">"El segundo numero mayor es el numero3"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln">      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero1</span><span class="pun">&gt;</span><span class="pln">numero3</span><span class="pun">);</span><br /><span class="pln">      cout</span><span class="pun">&lt;&lt;</span><span class="str">"el segundo numero mayor es el numero1"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln"> </span><br /><span class="pln">    </span><span class="kwd">int</span><span class="pln"> calculo2</span><span class="pun">();</span><span class="pln"> </span><br /><span class="pln">    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero2</span><span class="pun">&lt;</span><span class="pln">numero1</span><span class="pun">);</span><br /><span class="pln">    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero1</span><span class="pun">&gt;</span><span class="pln">numero3</span><span class="pun">);</span><br /><span class="pln">    cout</span><span class="pun">&lt;&lt;</span><span class="str">"el numero mayor es el numero1"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln">    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero2</span><span class="pun">&gt;</span><span class="pln">numero3</span><span class="pun">);</span><br /><span class="pln">    cout</span><span class="pun">&lt;&lt;</span><span class="str">"El segundo numero mayor es el numero2"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln">    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero3</span><span class="pun">&gt;</span><span class="pln">numero2</span><span class="pun">);</span><br /><span class="pln">    cout</span><span class="pun">&lt;&lt;</span><span class="str">"el segundo numero mayor es el numero3"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln"> </span><br /><span class="pln">  </span><br /><span class="pln">  </span><br /><span class="pln">  </span><span class="kwd">int</span><span class="pln"> calculo3</span><span class="pun">();</span><br /><span class="pln">   </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero1</span><span class="pun">&lt;</span><span class="pln">numero3</span><span class="pun">);</span><span class="pln"> </span><span class="com">//que sentencia </span><br /><span class="pln">   </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero3</span><span class="pun">&gt;</span><span class="pln">numero2</span><span class="pun">);</span><br /><span class="pln">   cout</span><span class="pun">&lt;&lt;</span><span class="str">"el numero mayor es el numero3"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln">   </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero2</span><span class="pun">&gt;</span><span class="pln">numero3</span><span class="pun">);</span><br /><span class="pln">   cout</span><span class="pun">&lt;&lt;</span><span class="str">"El segundo numero mayor es el numero2"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln">   </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">numero3</span><span class="pun">&gt;</span><span class="pln">numero2</span><span class="pun">);</span><br /><span class="pln">   cout</span><span class="pun">&lt;&lt;</span><span class="str">"el segundo numero mayor es el numero3"</span><span class="pln"> </span><span class="pun">&lt;&lt;</span><span class="pln"> endl</span><span class="pun">;</span><br /><span class="pln"> </span><br /><span class="pln">  </span><span class="kwd">return</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><br /><span class="pln">  </span><span class="pun">}</span><br /><span class="pun">}</span></pre><br /><p><br /></p>

c++
Respuesta de Elias Peraza
hace 11 años

<pre>#include &lt;iostream&gt;<br />#include &lt;math.h&gt;<br />/ Cabe destacar que es sin implementar arreglos(Arrays). <br />Lo intentaste hacer a travez de funciones, modularizando el codigo, pero será algo confuso para ti, creo. De todas formas si quieres luego actualizo mi respuesta y lo hago con una funcion /<br />using namespace std;<br />int main(){<br />   int n1, n2, n3;//Ahorra lineas de codigo para  que luego te sea mas facil ubicar las cosas. Declara esto en una sola linea así.<br />   int mayor, medio, menor;<br />   cout&lt;&lt;"hola mundo, este es mi segundo programa."&lt;&lt;endl;<br />   cout&lt;&lt;"Ahora ingresa tres numero enteros positivos, vamos a ordenarlo de mayor a menor!!"&lt;&lt;endl;<br />            cin&gt;&gt;n1;<br />            cin&gt;&gt;n2;<br />            cin&gt;&gt;n3;<br />//Sin usar arreglos, es bastante ladilla, voy a separar las comparaciones para que entiendas mejor<br />       //Así comprobamos cual es el mayor<br />       if (n1&gt;n2&amp;&amp;n1&gt;n2) <br />         <span>mayor = n1;<br /></span>      else if(n2 &gt; n1 &amp;&amp; n2 &gt; n3)<br />         mayor = n2;<br />      else if(n3 &gt; n1 &amp;&amp; n3 &gt; n2)<br />         mayor = n3;<br /><span>//Comprobamos el medio<br /></span>   if((n1 &lt; n2 &amp;&amp; n1 &gt; n3) || (n1 &gt; n2 &amp;&amp; n1 &lt; n3))medio = n1;<br />  else if((n2 &lt; n1 &amp;&amp; n2 &gt; n3) || (n2 &gt; n1 &amp;&amp; n2 &lt; n3))medio = n2;<br />else if((n3 &lt; n1 &amp;&amp; n3 &gt; n2)||(n3 &gt; n1 &amp;&amp; n3 &lt; n2))medio = n3;<br />//Comprobamos el menor<br />if(n1&lt;n2&amp;&amp;n1&lt;n3)menor = n1;<br />else if(n2&lt;n1 &amp;&amp; n2 &lt; n3)menor = n2;<br />else if(n3&lt;n1 &amp;&amp; n3 &lt; n2)menor = n3;<br />//Se imprime las variables que contienen el resultado de las comparaciones<br />   <span> </span><span>cout&lt;&lt;"el segundo numero mayor es el mayor" &lt;&lt; mayor&lt;&lt; endl;<br /></span><span>    </span><span>cout&lt;&lt;"El segundo numero mayor es el medio" &lt;&lt;medio&lt;&lt; endl;<br /></span><span>    cout&lt;&lt;"El numero menor es "&lt;&lt;menor&lt;&lt; endl;<br /></span><span>//fin del programa<br /></span>return 0;<br />}<br /><br /><br />// Errores en tu codigo:<br />#include &lt;iostream&gt;<br />#include &lt;math.h&gt;//Estas incluyendo una libreria que no usas<br />using namespace std; <br />   <br />  int main(){<br />       int numero1;<br />       int numero2;<br />       int numero3; <br />        {              //en este caso que iria antes del bloque? //Nada, porque este bloque no abre nada, este bloque es un error aqui<br />     cout&lt;&lt;"hola mundo, este es mi segundo programa."&lt;&lt;endl;<br />     cout&lt;&lt;"Ahora ingresa tres numero enteros positivos, vamos a ordenarlo de mayor a menor!!"&lt;&lt;endl;<br />     cin&gt;&gt;numero1;<br />     cin&gt;&gt;numero2;<br />     cin&gt;&gt;numero3;<br />   <br />       int calculo1();  //Esto es DECLARAR una funcion, y no se declara aqui, se declara arriba de la DEFINICION de main(). Al principio, donde esta namespace std mas o menos<br />       <br />       if (numero2&gt;numero3) {//Estas comparaciones estan erradas, porque debes hacer una DOBLE comparacion como minima en todos los casos, en el <br />//caso del numero medio, debes hacer mas de 2 comparaciones<br />Imaginá que el numero2 sea 15 y numero3 sea 12 pero numero1 sea 5000, cual es mayor? Esto imprimiria que numero2 es el mayor<br />      cout&lt;&lt;"el numero mayor es el numero2" &lt;&lt; endl;<br />  };//Al finalizar un bloque if, no va punto y coma, en las funciones tampoco, eso es solo en las structs y en los arrays <br />      else (numero3&gt;numero2) {<br />    <br />          cout&lt;&lt;"el numero mayor es el numero 3" &lt;&lt; endl;<br />  }<br />}<br />      if (numero3&gt;numero1);<br />      cout&lt;&lt;"El segundo numero mayor es el numero3" &lt;&lt; endl;<br />      if (numero1&gt;numero3);<br />      cout&lt;&lt;"el segundo numero mayor es el numero1" &lt;&lt; endl;<br /> <br />    int calculo2(); <br />    if (numero2&lt;numero1);<br />    if (numero1&gt;numero3);<br />    cout&lt;&lt;"el numero mayor es el numero1" &lt;&lt; endl;<br />    if (numero2&gt;numero3);<br />    cout&lt;&lt;"El segundo numero mayor es el numero2" &lt;&lt; endl;<br />    if (numero3&gt;numero2);<br />    cout&lt;&lt;"el segundo numero mayor es el numero3" &lt;&lt; endl;<br /> <br />  <br />  <br />  int calculo3();//Otra vez herrando, aqui no se declaran funciones, <br />aparte, creo que no intentaste declarar una funcion sino definirla. Al definir una funcion no se usa";", solo se abren y cierran llaves, aparte esto se hace fuera<br />de la funcion main o cualquier otra, no dentro<br />   if (numero1&lt;numero3); //que sentencia <br />   if (numero3&gt;numero2);<br />   cout&lt;&lt;"el numero mayor es el numero3" &lt;&lt; endl;<br />   if (numero2&gt;numero3);<br />   cout&lt;&lt;"El segundo numero mayor es el numero2" &lt;&lt; endl;<br />   if (numero3&gt;numero2);<br />   cout&lt;&lt;"el segundo numero mayor es el numero3" &lt;&lt; endl;<br /> <br />  return 0;<br />  }<br />}<br />*/</pre>

Respuesta de Cristian Olaz
hace 11 años

Tenés varios errores. La mayoría ya te los marcaron en la primera respuesta.<div>A mi parecer tu código es muy extenso, para que lo entiendas un poco mejor te muestro <span style="font-weight:bold;">otra forma</span> de hacerlo, con menos líneas de código y un poco más claro:</div><div><pre>#include &lt;iostream&gt;<br />using namespace std;<br />/*<br />  Intercambia el valor entre dos variables<br /> */<br />void intercambiar( int &amp;a, int &amp;b ) {<br /><span class="Apple-tab-span"> </span>int aux = a;<br /><span class="Apple-tab-span"> </span>a = b;<br /><span class="Apple-tab-span"> </span>b = aux;<br />}<br />int main() {<br /><span class="Apple-tab-span"> </span>// se ingresan las variables<br /><span class="Apple-tab-span"> </span>int a, b, c;<br /><span class="Apple-tab-span"> </span>cin &gt;&gt; a;<br /><span class="Apple-tab-span"> </span>cin &gt;&gt; b;<br /><span class="Apple-tab-span"> </span>cin &gt;&gt; c;<br /><span class="Apple-tab-span"> </span>// se ordenan de mayor a menor<br /><span class="Apple-tab-span"> </span>if( a &gt; b ) intercambiar( a, b );<br /><span class="Apple-tab-span"> </span>if( a &gt; c ) intercambiar( a, c );<br /><span class="Apple-tab-span"> </span>if( b &gt; c ) intercambiar( b, c );<br /><span class="Apple-tab-span"> </span>cout &lt;&lt; "El mayor es: " &lt;&lt; c &lt;&lt; endl;<br /><span class="Apple-tab-span"> </span>cout &lt;&lt; "El medio es: " &lt;&lt; b &lt;&lt; endl;<br /><span class="Apple-tab-span"> </span>cout &lt;&lt; "El menor es: " &lt;&lt; a &lt;&lt; endl;<br /><span class="Apple-tab-span"> </span>return 0;<br />}</pre><div>Saludos.</div></div>