<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Código C++ &#187; Programas</title>
	<atom:link href="http://codigoc.org/cat/programas/feed" rel="self" type="application/rss+xml" />
	<link>http://codigoc.org</link>
	<description>Ayuda para tu tarea en C++</description>
	<lastBuildDate>Tue, 17 Apr 2012 23:22:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Aprender inglés, ¿¡en C++!?</title>
		<link>http://codigoc.org/633-aprender-ingles-%c2%bf%c2%a1en-c</link>
		<comments>http://codigoc.org/633-aprender-ingles-%c2%bf%c2%a1en-c#comments</comments>
		<pubDate>Sat, 21 May 2011 04:08:30 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[matrices]]></category>
		<category><![CDATA[rand]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=633</guid>
		<description><![CDATA[Me contó SetRoot a través de un comentario que se le ocurrió hacer un programa en C++ que nos ayudará a aprender palabras en inglés, en sus propias palabras: Se me ocurrio hacer un programa para aprender ingles y creo que los tiros tambien van por ahi corrígeme: 1 llenar 1000 palabras 2 agruparlas por alguna [...]]]></description>
			<content:encoded><![CDATA[<p>Me contó <strong>SetRoot </strong>a través de un comentario que se le ocurrió hacer un programa en C++ que nos ayudará a aprender palabras en inglés, en sus propias palabras:<br />
<code>Se me ocurrio hacer un programa para aprender ingles y creo que los tiros tambien van por ahi corrígeme:<br />
1 llenar 1000 palabras<br />
2 agruparlas por alguna relacion como emociones articulos y otros(para esto quisiera usar una matriz para acceder a ella mas facil aunque 2 matrices tambien creo q me van :s con punteros y eso ,s)<br />
3 ejecucion: con un par de cases hacer un menu que me permita lanzar 20 palabras al azar(con sran o ran creo + time) con su significado<br />
y despues que me permita hacer un tipo de examen o test con esas mismas palabras desordenadas que cada acierto valga algo para ganar puntos y asi involucrar a los amigos y familiares</code><br />
Me gustó la idea de hacer un pequeño &#8216;bosquejo&#8217; de su idea porque precisamente se necesita usar el código de mi último post: <a href="http://codigoc.org/627-numeros-aleatorios-sin-repetir-en-c">Números aleatorios sin repetir en C++</a>. Así que mi algoritmo es algo así:</p>
<ol>
<li>Crear una matriz tipo string de N filas y 2 columnas, la primera columna son las palabras en inglés; la segunda, en español.</li>
<li>Pedir el número de palabras que el usuario quiera memorizar.</li>
<li>Obtener ese número de palabras aleatoriamente y mostrarlas.</li>
<li>Borrar las palabras y empezar a preguntar el significado de cada una.</li>
<li>Comparar la respuesta del usuario con la respuesta correcta.</li>
<li>Calcular su calificación y mostrarla.</li>
</ol>
<p>El código es este:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;cstdlib&gt;</span>
<span style="color: #339900;">#include&lt;ctime&gt;</span>
<span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> nofw<span style="color: #008080;">;</span>
<span style="color: #339900;">#define N 8 // numero de pares de palabras en la matriz</span>
&nbsp;
<span style="color: #0000ff;">bool</span> checkrep<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> n, <span style="color: #0000ff;">int</span> num<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;</span>nofw<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>n <span style="color: #000080;">==</span> num<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
            <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">srand</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">time</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    string ans, words<span style="color: #008000;">&#91;</span>N<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #008000;">&#123;</span><span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;hi&quot;</span>, <span style="color: #FF0000;">&quot;hola&quot;</span><span style="color: #008000;">&#125;</span>, <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;house&quot;</span>, <span style="color: #FF0000;">&quot;casa&quot;</span><span style="color: #008000;">&#125;</span>, <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;water&quot;</span>, <span style="color: #FF0000;">&quot;agua&quot;</span><span style="color: #008000;">&#125;</span>, 
      <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;roof&quot;</span>, <span style="color: #FF0000;">&quot;techo&quot;</span><span style="color: #008000;">&#125;</span>, <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;chair&quot;</span>, <span style="color: #FF0000;">&quot;silla&quot;</span><span style="color: #008000;">&#125;</span>, <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;loudspeaker&quot;</span>, <span style="color: #FF0000;">&quot;bocina&quot;</span><span style="color: #008000;">&#125;</span>, 
      <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;screen&quot;</span>, <span style="color: #FF0000;">&quot;pantalla&quot;</span><span style="color: #008000;">&#125;</span>, <span style="color: #008000;">&#123;</span><span style="color: #FF0000;">&quot;money&quot;</span>, <span style="color: #FF0000;">&quot;dinero&quot;</span><span style="color: #008000;">&#125;</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> n, correct<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>, wrong<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Numero de palabras?: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> nofw<span style="color: #008080;">;</span>
    <span style="color: #666666;">// obtener 'nofw' palabras aleatoriamente de nuestra matriz</span>
    <span style="color: #0000ff;">int</span> num<span style="color: #008000;">&#91;</span>nofw<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;</span>nofw<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">do</span>
            n <span style="color: #000080;">=</span> <span style="color: #0000dd;">rand</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> N<span style="color: #008080;">;</span>
        <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>checkrep<span style="color: #008000;">&#40;</span>n, num<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        num<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> n<span style="color: #008080;">;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> words<span style="color: #008000;">&#91;</span>n<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; -&gt; &quot;</span> <span style="color: #000080;">&lt;&lt;</span> words<span style="color: #008000;">&#91;</span>n<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">system</span><span style="color: #008000;">&#40;</span><span style="color: #FF0000;">&quot;cls&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #666666;">// preguntar el significado de cada palabra</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;</span>nofw<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> words<span style="color: #008000;">&#91;</span>num<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; = &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> ans<span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>ans <span style="color: #000080;">==</span> words<span style="color: #008000;">&#91;</span>num<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            correct<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;&gt;&gt; Bien :)<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">else</span>
        <span style="color: #008000;">&#123;</span>
            wrong<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;&gt;&gt; Mal :(<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Tuviste un &quot;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">float</span><span style="color: #008000;">&#41;</span>correct <span style="color: #000040;">/</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">float</span><span style="color: #008000;">&#41;</span>nofw <span style="color: #000040;">*</span> <span style="color: #0000dd;">100</span> <span style="color: #000080;">&lt;&lt;</span> 
                <span style="color: #FF0000;">&quot;% de respuestas correctas.&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Como dije antes, es sólo un bosquejo, pero tal vez sea el punto de partida para un buen proyecto. Para optimizarlo creo que se deberían agregar algunas cosas:</p>
<ul>
<li>Obtener los pares de palabras desde una base de datos</li>
<li>Ordenarlas por categorías</li>
<li>Que no importe si la respuesta está en mayúsculas o minúsculas</li>
<li>Mejorar la interacción con el usuario</li>
</ul>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2011. |
<a href="http://codigoc.org/633-aprender-ingles-%c2%bf%c2%a1en-c">Permalink</a> |
<a href="http://codigoc.org/633-aprender-ingles-%c2%bf%c2%a1en-c#comments">12 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/633-aprender-ingles-%c2%bf%c2%a1en-c/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Números aleatorios sin repetir en C++</title>
		<link>http://codigoc.org/627-numeros-aleatorios-sin-repetir-en-c</link>
		<comments>http://codigoc.org/627-numeros-aleatorios-sin-repetir-en-c#comments</comments>
		<pubDate>Sat, 02 Apr 2011 02:45:25 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[bool]]></category>
		<category><![CDATA[rand]]></category>
		<category><![CDATA[while]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=627</guid>
		<description><![CDATA[Ya hemos visto cómo obtener número aleatorios en c++, pero tarde o temprano surge la necesidad de generar números aleatorios pero sin que se repitan. Podría ser útil para varias cosas como por ejemplo, ordenar de manera aleatoria elementos de una lista, formas grupos aleatorios, barajear cartas, etc. Así que en algoritmo quedaría algo así: [...]]]></description>
			<content:encoded><![CDATA[<p>Ya hemos visto cómo obtener <a href="http://codigoc.org/354-obtener-numeros-aleatorios-en-c-rand-srand">número aleatorios en c++</a>, pero tarde o temprano surge la necesidad de <strong>generar números aleatorios pero sin que se repitan</strong>. Podría ser útil para varias cosas como por ejemplo, ordenar de manera aleatoria elementos de una lista, formas grupos aleatorios, barajear cartas, etc. Así que en algoritmo quedaría algo así:</p>
<ol>
<li>Crear una matriz y dejarla vacía.</li>
<li>Obtener un número aleatorio.</li>
<li>Checar si ese número existe en la matriz. Si si, regresar al paso 2. Si no, guardar el numero en la matriz.</li>
</ol>
<p>Así que el programa es este:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;cstdlib&gt;</span>
<span style="color: #339900;">#include&lt;ctime&gt;</span>
<span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">bool</span> checkrep<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> n, <span style="color: #0000ff;">int</span> num<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>n <span style="color: #000080;">==</span> num<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
            <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">true</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000dd;">srand</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">time</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">int</span> n, num<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">do</span>
            n <span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span> <span style="color: #000040;">+</span> <span style="color: #0000dd;">rand</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>checkrep<span style="color: #008000;">&#40;</span>n, num<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        num<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> n<span style="color: #008080;">;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> num<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;  &quot;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Primero que nada, &lt;cstdlib&gt; es la forma correcta de incluir la librería &lt;stdlib.h&gt; en c++, igual con &lt;ctime&gt;.</p>
<p>Como ven, usamos una <strong>función bool</strong> (<em>que retorna falso o verdadero</em>) para checar si el número aleatorio ya existe en nuestra matriz. Si cualquiera de los números es igual a nuestro número aleatorio <strong>n</strong>, la función retorna <em>true</em>, por lo que el ciclo <em>do-while</em> desde el cual llamamos la función tendrá que repetirse una vez más y hasta que la función retorne <em>false</em>.</p>
<p>Cuando se logra salir del ciclo do-while, guardamos nuestra n en el lugar de la matriz que corresponda, lo mostramos en pantalla y continuámos con la siguiente posición de la matriz.</p>
<p>Otra cosa. Para decirnos si un número está repetido en la matriz, la función <strong>checkrep()</strong> necesita obviamente dos cosas, el número aleatorio y la matriz. Así que le <a href="http://codigoc.org/530-como-pasar-una-matriz-o-arreglo-como-parametro-a-una-funcion">enviámos como parámetros nuestra matriz</a> y nuestro número aleatorio.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2011. |
<a href="http://codigoc.org/627-numeros-aleatorios-sin-repetir-en-c">Permalink</a> |
<a href="http://codigoc.org/627-numeros-aleatorios-sin-repetir-en-c#comments">5 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/627-numeros-aleatorios-sin-repetir-en-c/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Devolver cambio en C++</title>
		<link>http://codigoc.org/611-devolver-cambio-en-c</link>
		<comments>http://codigoc.org/611-devolver-cambio-en-c#comments</comments>
		<pubDate>Fri, 11 Feb 2011 02:39:46 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[if else]]></category>
		<category><![CDATA[while]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=611</guid>
		<description><![CDATA[¿Han pagado algún recibo en una máquina automática y se han preguntado cómo será el programa que les devuelve el cambio? Lo más seguro es que no, pero pues resulta que el profesor de Miguel Ángel le encargó un programa que simulara eso, en sus propias palabras: &#8220;Supón que una maquina de monedas de 10,5,2,1 [...]]]></description>
			<content:encoded><![CDATA[<p>¿Han pagado algún recibo en una máquina automática y se han preguntado cómo será el programa que les devuelve el cambio? Lo más seguro es que no, pero pues resulta que el profesor de Miguel Ángel le encargó un programa que simulara eso, en sus propias palabras:</p>
<p>&#8220;<em>Supón que una maquina de monedas de 10,5,2,1 y 50 centavos. Debes escribir un programa que decida cuantas monedas dará de cambio, dando prioridad las de mayor denominación. Debe recibir como entrada la cantidad de dar a cambio. Ejemplo: para $40.50 será 4 de 10, 0 de 5, 0 de 2, 0 de 1 y 1 de 50 centavos.</em>&#8221;<br />
<a href="http://codigoc.org/wp-content/uploads/2011/02/cambio.jpg"><img src="http://codigoc.org/wp-content/uploads/2011/02/cambio.jpg" alt="Cambio" title="Cambio" width="440" height="209" class="aligncenter size-full wp-image-614" /></a><br />
Así que el primer problema se presenta con la entrada ¿cómo hacer que el usuario introduzca sólo cantidades como $50 o $43.50 y no cantidades como $23.45 o $9.70?</p>
<p>Lo que se me ocurrió es pedir la cantidad en una variable float (<em>cambio</em>), en otra variable convertir esa cantidad a tipo int (<em>cambioint</em>). En ese proceso se perderá la parte decimal del número, así que si la resta <em>cambio &#8211; cambioint</em> es igual a 0 o igual a 0.50, la cantidad que introdujo el usuario es correcta.</p>
<p>La otra parte es sencilla, sólo se necesita ver si la variable <em>cambio</em> es mayor que 10. Si si,  se le restan 10 a la variable y se aumenta un contador. Luego se hace lo mismo con las demás monedas.</p>
<p>Pero bueno, el programa es este:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">float</span> cambio<span style="color: #008080;">;</span> <span style="color: #0000ff;">int</span> cambioint, m10<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>, m5<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>, m2<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>, m1<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>, m50c<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">do</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Cambio?: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> cambio<span style="color: #008080;">;</span>
        cambioint <span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span><span style="color: #008000;">&#41;</span>cambio<span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span><span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>cambio <span style="color: #000040;">-</span> cambioint<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span> <span style="color: #000040;">&amp;&amp;</span> <span style="color: #008000;">&#40;</span>cambio <span style="color: #000040;">-</span> cambioint<span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color:#800080;">0.50</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>cambio <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>cambio<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            m10<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            cambio<span style="color: #000040;">-</span><span style="color: #000080;">=</span><span style="color: #0000dd;">10</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>cambio<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">5</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            m5<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            cambio<span style="color: #000040;">-</span><span style="color: #000080;">=</span><span style="color: #0000dd;">5</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>cambio<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            m2<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            cambio<span style="color: #000040;">-</span><span style="color: #000080;">=</span><span style="color: #0000dd;">2</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>cambio<span style="color: #000080;">&gt;=</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            m1<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            cambio<span style="color: #000040;">-</span><span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>cambio<span style="color: #000080;">&gt;=</span><span style="color:#800080;">0.5</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            m50c<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
            cambio<span style="color: #000040;">-</span><span style="color: #000080;">=</span><span style="color:#800080;">0.5</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> m10 <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;, &quot;</span> <span style="color: #000080;">&lt;&lt;</span> m5 <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;, &quot;</span> <span style="color: #000080;">&lt;&lt;</span> m2 <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;, &quot;</span> <span style="color: #000080;">&lt;&lt;</span> m1 <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;, &quot;</span> <span style="color: #000080;">&lt;&lt;</span> m50c<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Solo le faltaría darle un poco de formato a la salida, pero pues ya es cuestión de gustos y ya saben, cualquier duda aquí están los comentarios abajo.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2011. |
<a href="http://codigoc.org/611-devolver-cambio-en-c">Permalink</a> |
<a href="http://codigoc.org/611-devolver-cambio-en-c#comments">14 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/611-devolver-cambio-en-c/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Simular una Progress Bar en C++</title>
		<link>http://codigoc.org/596-simular-una-progress-bar-en-c</link>
		<comments>http://codigoc.org/596-simular-una-progress-bar-en-c#comments</comments>
		<pubDate>Thu, 13 Jan 2011 08:29:36 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=596</guid>
		<description><![CDATA[Una progress bar es la barrita, generalmente verde, que aparece en sistemas operativos e infinidad de programas cuando algo se está cargando. Hoy no nos vamos a meter en asuntos de cargar archivos o algo, únicamente vamos a ver el principio básico sobre el que operan estas barras. Nuestro programa sólo pedirá una cantidad en [...]]]></description>
			<content:encoded><![CDATA[<p>Una <strong>progress bar</strong> es la barrita, generalmente verde, que aparece en sistemas operativos e infinidad de programas cuando algo se está cargando. Hoy no nos vamos a meter en asuntos de cargar archivos o algo, únicamente vamos a ver el principio básico sobre el que operan estas barras.</p>
<p>Nuestro programa sólo pedirá una cantidad en segundos, que será el tiempo que durará en llenarse nuestra progress bar. A la ventana donde se ejecutan nuestros programas le caben 80 caracteres de largo, así que vamos a decir que nuestra progress bar tiene una resolución de 80. El único problema es saber cuánto durará cada unidad de esas 80 para que en total se acumule el tiempo indicado.</p>
<h3>La función delay() o Sleep()</h3>
<p>Si en su IDE pueden usar la librería <em>conio.h</em>, entonces van a usar la función <strong>delay()</strong>. Si no, vamos a tener que agregar la librería <em>windows.h</em> y usar la función <strong>Sleep()</strong> (<em>así con mayúscula</em>).</p>
<p>Ambas funciones hacen exactamente lo mismo: paran el programa durante una cierta cantidad de tiempo en milisegundos. Por ejemplo:<br />
<code>cout << "Hola" << endl;<br />
Sleep(2000);<br />
cout << "Hace dos segundos te saludé!";</code><br />
Se muestra 'Hola', se pausa 2 segundos y se muestra 'Hace dos segundos te saludé!'</p>
<p>Para los que usan conio.h, sería algo así:<br />
<code>printf("Hola\n");<br />
delay(2000);<br />
printf("Hace dos segundos te saludé!");</code></p>
<p>Ahora sí, para saber cuanto tiempo durará cada unidad de nuestra barra tenemos primero que convertir los segundos a milisegundos (<em>s*1000</em>), luego dividirlos entre la resolución de la barra (<em>s*1000/80</em>). Así que nuestro programa queda así:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;windows.h&gt;</span>
<span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> s<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Segundos?: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> s<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;=</span><span style="color: #0000dd;">79</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;_&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;=</span><span style="color: #0000dd;">79</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;=&quot;</span><span style="color: #008080;">;</span>
        Sleep<span style="color: #008000;">&#40;</span>s<span style="color: #000040;">*</span><span style="color: #0000dd;">1000</span><span style="color: #000040;">/</span><span style="color: #0000dd;">80</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>El primer ciclo es solo por estética, para ver hasta donde va a llenar la barra. El segundo es el que imprime la barra con sus respectivas pausas.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2011. |
<a href="http://codigoc.org/596-simular-una-progress-bar-en-c">Permalink</a> |
<a href="http://codigoc.org/596-simular-una-progress-bar-en-c#comments">10 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/596-simular-una-progress-bar-en-c/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Saber si es palíndromo o no, de forma recursiva 2da parte</title>
		<link>http://codigoc.org/590-saber-si-es-palindromo-o-no-de-forma-recursiva-2da-parte</link>
		<comments>http://codigoc.org/590-saber-si-es-palindromo-o-no-de-forma-recursiva-2da-parte#comments</comments>
		<pubDate>Tue, 11 Jan 2011 00:38:10 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[cadenas]]></category>
		<category><![CDATA[string.h]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=590</guid>
		<description><![CDATA[Pues la idea que se me ocurrió en el otro post resultó ser más sencilla de lo que me imaginé, y ahora sí la función recursiva se ve mucho mejor, ya es mucho más que un ciclo disfrazado. Comenté extensivamente el código, así que aquí está: 1 2 3 4 5 6 7 8 9 [...]]]></description>
			<content:encoded><![CDATA[<p>Pues la idea que se me ocurrió en el otro post resultó ser más sencilla de lo que me imaginé, y ahora sí la función recursiva se ve mucho mejor, ya es mucho más que un ciclo disfrazado.</p>
<p>Comenté extensivamente el código, así que aquí está:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;string.h&gt;</span>
<span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> len, n<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
string chk4palindrosity<span style="color: #008000;">&#40;</span>string thestr<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>thestr<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> thestr<span style="color: #008000;">&#91;</span>thestr.<span style="color: #007788;">length</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #666666;">// comparar primer caracter con ultimo</span>
    <span style="color: #008000;">&#123;</span>
        n<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>n <span style="color: #000080;">==</span> len <span style="color: #000040;">/</span> <span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span> <span style="color: #666666;">// si el numero de veces que la comparación ha sido cierta es...</span>
            <span style="color: #0000ff;">return</span> <span style="color: #FF0000;">&quot;Si es palindromo!&quot;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// igual a la mitad de los caracters, es palindromo</span>
        thestr.<span style="color: #007788;">erase</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span>, <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// borramos primer caracter</span>
        thestr.<span style="color: #007788;">erase</span><span style="color: #008000;">&#40;</span>thestr.<span style="color: #007788;">length</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">-</span> <span style="color: #0000dd;">1</span>, <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// borramos ultimo</span>
        <span style="color: #0000ff;">return</span> chk4palindrosity<span style="color: #008000;">&#40;</span>thestr<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// llamamos a la función con el string recortado</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">else</span> <span style="color: #666666;">// si una de las comparaciones no es cierta, no es palíndromo</span>
        <span style="color: #0000ff;">return</span> <span style="color: #FF0000;">&quot;No es palindromo&quot;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">char</span> inputf<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">50</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span>, input<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">50</span><span style="color: #008000;">&#93;</span>, <span style="color: #000040;">*</span>parte<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;Introduce un palindromo: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">getline</span><span style="color: #008000;">&#40;</span>input, <span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
    parte <span style="color: #000080;">=</span> <span style="color: #0000dd;">strtok</span><span style="color: #008000;">&#40;</span>input, <span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>                 <span style="color: #666666;">//</span>
    <span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>inputf, parte<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>                     <span style="color: #666666;">//</span>
    <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>parte <span style="color: #000080;">=</span> <span style="color: #0000dd;">strtok</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span>, <span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #666666;">//</span>
        <span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>inputf, parte<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>               <span style="color: #666666;">// quitar espacios del array</span>
&nbsp;
    string thestr<span style="color: #008000;">&#40;</span>inputf<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// convertir array en string para facilitar operaciones</span>
    len <span style="color: #000080;">=</span> thestr.<span style="color: #007788;">length</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// obtener longuitud del string</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>len <span style="color: #000080;">==</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Si es palindromo!&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">else</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> chk4palindrosity<span style="color: #008000;">&#40;</span>thestr<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// llamar a la funcion e imprimir lo que retorne</span>
    <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Lo que hace la función recursiva es comparar el primer caracter con el último, si son iguales recortarlos y llamarse; si no, no es palíndromo. Cualquier duda ya saben que los comentarios están abiertos.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2011. |
<a href="http://codigoc.org/590-saber-si-es-palindromo-o-no-de-forma-recursiva-2da-parte">Permalink</a> |
<a href="http://codigoc.org/590-saber-si-es-palindromo-o-no-de-forma-recursiva-2da-parte#comments">Un comentario</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/590-saber-si-es-palindromo-o-no-de-forma-recursiva-2da-parte/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Saber si es palíndromo o no, de forma recursiva</title>
		<link>http://codigoc.org/586-saber-si-es-palindromo-o-no-de-forma-recursiva</link>
		<comments>http://codigoc.org/586-saber-si-es-palindromo-o-no-de-forma-recursiva#comments</comments>
		<pubDate>Sun, 09 Jan 2011 03:52:48 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[cadenas]]></category>
		<category><![CDATA[string.h]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=586</guid>
		<description><![CDATA[Hace unos días me pidieron por correo un programa que nos dijera si un string es palíndromo o no, pero usando una función recursiva. Me pareció interesante aunque raro que pidieran hacerlo de forma recursiva. Tal vez recuerden que ya había publicado aquí una forma de saber si un string es palíndromo o no, el [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unos días me pidieron por correo un programa que nos dijera si un string es palíndromo o no, pero usando una <a href="http://codigoc.org/tag/recursividad">función recursiva</a>. Me pareció interesante aunque raro que pidieran hacerlo de forma recursiva.</p>
<p>Tal vez recuerden que ya había publicado aquí una forma de saber si un string es <a href="http://codigoc.org/341-como-identificar-un-palindromo-en-c">palíndromo o no</a>, el cual he descubierto (<em>ahora que hice este otro</em>) que no es muy eficiente.</p>
<p>Bueno pues el código es este:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;string.h&gt;</span>
<span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
<span style="color: #0000ff;">char</span> cadenaf<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">50</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span><span style="color: #008080;">;</span> <span style="color: #0000ff;">int</span> len, n<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
string chk4palindrosity<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> c<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>cadenaf<span style="color: #008000;">&#91;</span>c<span style="color: #008000;">&#93;</span> <span style="color: #000080;">==</span> cadenaf<span style="color: #008000;">&#91;</span>len<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #000040;">-</span>c<span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        n<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>n <span style="color: #000080;">==</span> len<span style="color: #000040;">/</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
            <span style="color: #0000ff;">return</span> <span style="color: #FF0000;">&quot;Si es palindromo!&quot;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">return</span> chk4palindrosity<span style="color: #008000;">&#40;</span>c<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">else</span>
        <span style="color: #0000ff;">return</span> <span style="color: #FF0000;">&quot;No es palindromo&quot;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">char</span> cadena<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">50</span><span style="color: #008000;">&#93;</span>,<span style="color: #000040;">*</span>parte<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span><span style="color: #000080;">&lt;&lt;</span><span style="color: #FF0000;">&quot;Introduce un palindromo: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">getline</span><span style="color: #008000;">&#40;</span>cadena,<span style="color: #0000dd;">50</span>,<span style="color: #FF0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
    parte <span style="color: #000080;">=</span> <span style="color: #0000dd;">strtok</span><span style="color: #008000;">&#40;</span>cadena,<span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>                 <span style="color: #666666;">//</span>
    <span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>cadenaf,parte<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>                     <span style="color: #666666;">//</span>
    <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#40;</span>parte <span style="color: #000080;">=</span> <span style="color: #0000dd;">strtok</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span>,<span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span> <span style="color: #666666;">//</span>
        <span style="color: #0000dd;">strcat</span><span style="color: #008000;">&#40;</span>cadenaf,parte<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>               <span style="color: #666666;">// quitar espacios del string</span>
&nbsp;
    len <span style="color: #000080;">=</span> <span style="color: #0000dd;">strlen</span><span style="color: #008000;">&#40;</span>cadenaf<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> chk4palindrosity<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cin</span>.<span style="color: #007788;">get</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>La verdad es que es la función es recursiva de puro milagro. Lo que hice fue transformar el ciclo que checaba que los caracteres fueran iguales en una función en la que se aumenta una variable cada vez que se llama a sí misma.</p>
<p>El código ahora es más eficiente por dos simples razones:</p>
<ol>
<li>Se detiene y da el resultado a la primera comparación de caracteres que no sean iguales. Si el primer y el último caracter no son iguales, no es palíndromo y ya no sigue analizando los demás.</li>
<li>Sólo checa la mitad de los caracteres. Si la mitad de los caracteres corresponden a la configuración de un palíndromo, ya no hay porqué seguir analizando la otra mitad.</li>
</ol>
<p>Tal vez una mejor manera de hacerlo sería con una función que recibiera el string a analizar, comparar el primer y último caracter: si no, no es; si si, eliminar el primer y último caracter y volver a llamar a la función. Esto hasta que el numero de comparaciones ciertas sea igual a la mitad de la longitud inicial del string. ¿Alguien se anima a hacerlo?</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2011. |
<a href="http://codigoc.org/586-saber-si-es-palindromo-o-no-de-forma-recursiva">Permalink</a> |
<a href="http://codigoc.org/586-saber-si-es-palindromo-o-no-de-forma-recursiva#comments">3 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/586-saber-si-es-palindromo-o-no-de-forma-recursiva/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Imprimir determinados números primos</title>
		<link>http://codigoc.org/582-imprimir-determinados-numeros-primos</link>
		<comments>http://codigoc.org/582-imprimir-determinados-numeros-primos#comments</comments>
		<pubDate>Mon, 20 Dec 2010 01:13:29 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[primos]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=582</guid>
		<description><![CDATA[Sobre números primos he escrito bastantes programas y me he dado cuenta de que los profesores de programación tienen cierta fijación con ellos. Pero bueno, el programa de hoy imprime la cantidad de números primos que el usuario quiera y es interesante porque es un buen ejemplo de la utilidad de los ciclos infinitos, que [...]]]></description>
			<content:encoded><![CDATA[<p>Sobre <strong>números primos</strong> he escrito bastantes programas y me he dado cuenta de que los profesores de programación tienen cierta fijación con ellos. Pero bueno, el programa de hoy imprime la cantidad de números primos que el usuario quiera y es interesante porque es un buen ejemplo de la utilidad de los <a href="http://codigoc.org/251-el-break-y-el-ciclo-infinito">ciclos infinitos</a>, que ya habíamos visto antes.</p>
<p>Ok, el código es este:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> cnt,i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>,ii,res,nc<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>,np<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Introduce la cantidad de numeros: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> cnt<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #008080;">;;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        i<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>ii<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>ii<span style="color: #000080;">&lt;=</span>i<span style="color: #008080;">;</span>ii<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            res<span style="color: #000080;">=</span>i<span style="color: #000040;">%</span>ii<span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>res<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
                nc<span style="color: #000080;">=</span>nc<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>nc<span style="color: #000080;">==</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> i <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008080;">;</span>
            np<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        nc<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>np<span style="color: #000080;">==</span>cnt<span style="color: #008000;">&#41;</span>
            <span style="color: #0000ff;">break</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Si tienen problemas para entender cómo obtuvimos los números primos, deberían darle una revisada a estos posts: <a href="http://codigoc.org/321-saber-si-un-numero-es-primo-o-no">Saber si es primo o no</a> y <a href="http://codigoc.org/311-numeros-primos-en-un-rango">Primos en un rango</a>.</p>
<p>Lo que hicimos es que todo el programa estuviera dentro de un ciclo infinito que se detendrá cuando nuestra variable que se aumenta cada vez que obtenemos un numero primo <em>np</em> sea igual a la variable con la cantidad deseada de números primos <em>cnt</em>.</p>
<p>Pero recuerden que donde podemos usar un ciclo infinito, queda mucho mejor un <a href="http://codigoc.org/268-como-usar-ciclo-while-en-c">ciclo while</a>:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> cnt,i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>,ii,res,nc<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>,np<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Introduce la cantidad de numeros: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> cnt<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">while</span><span style="color: #008000;">&#40;</span>np<span style="color: #000040;">!</span><span style="color: #000080;">=</span>cnt<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        i<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span>ii<span style="color: #000080;">=</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>ii<span style="color: #000080;">&lt;=</span>i<span style="color: #008080;">;</span>ii<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            res<span style="color: #000080;">=</span>i<span style="color: #000040;">%</span>ii<span style="color: #008080;">;</span>
            <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>res<span style="color: #000080;">==</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#41;</span>
                nc<span style="color: #000080;">=</span>nc<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>nc<span style="color: #000080;">==</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> i <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008080;">;</span>
            np<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        nc<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Únicamente ponemos la palabra while en lugar de for, copiamos la condición que &#8216;condicionaba&#8217; (<em>sí, lo se</em>) el break y la pegamos dentro de los paréntesis del while pero de manera contraria (<em>de == a != o de < a ></em>).</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2010. |
<a href="http://codigoc.org/582-imprimir-determinados-numeros-primos">Permalink</a> |
<a href="http://codigoc.org/582-imprimir-determinados-numeros-primos#comments">6 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/582-imprimir-determinados-numeros-primos/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Clasificar números en C++</title>
		<link>http://codigoc.org/563-clasificar-numeros-en-c</link>
		<comments>http://codigoc.org/563-clasificar-numeros-en-c#comments</comments>
		<pubDate>Sat, 27 Nov 2010 01:16:28 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[matrices]]></category>
		<category><![CDATA[rand]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=563</guid>
		<description><![CDATA[Por medio de un comentario Gaby me pidió un programa que: &#8220;Genere 10 números aleatorios del 0 al 50 y los clasifique en 2 rangos: menores que 10 y mayores que 10 pero menores que 20.&#8221; A nosotros nos sirve para practicar el uso de números random, de matrices y de ciclos. El programa es [...]]]></description>
			<content:encoded><![CDATA[<p>Por medio de un comentario Gaby me pidió un programa que:</p>
<blockquote><p><em>&#8220;Genere 10 números aleatorios del 0 al 50 y los clasifique en 2 rangos: menores que 10 y mayores que 10 pero menores que 20.&#8221;</em></p></blockquote>
<p>A nosotros nos sirve para practicar el uso de números random, de matrices y de ciclos.</p>
<p>El programa es este:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;stdlib.h&gt;</span>
<span style="color: #339900;">#include&lt;ctime&gt;</span>
<span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> numrnd<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span>, cls1<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span>, cls2<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">10</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span>, ct1<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span>, ct2<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">srand</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">time</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">NULL</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Los numeros: &quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;=</span><span style="color: #0000dd;">9</span><span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        numrnd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> <span style="color: #0000dd;">rand</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #000040;">%</span> <span style="color: #0000dd;">51</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> numrnd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;, &quot;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>numrnd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">10</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            cls1<span style="color: #008000;">&#91;</span>ct1<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> numrnd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            ct1<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>numrnd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&gt;</span> <span style="color: #0000dd;">10</span> <span style="color: #000040;">&amp;&amp;</span> numrnd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;</span> <span style="color: #0000dd;">20</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            cls2<span style="color: #008000;">&#91;</span>ct2<span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> numrnd<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
            ct2<span style="color: #000040;">++</span><span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Menores que 10: &quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;</span>ct1<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> cls1<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;, &quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> endl <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Mayores que 10 y menores que 20: &quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;</span>ct2<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> cls2<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;, &quot;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<ul>
<li>Para dudas respecto a la generación de números random está este post: <a href="http://codigoc.org/354-obtener-numeros-aleatorios-en-c-rand-srand">Obtener números aleatorios en C++</a>.</li>
<li>Para dudas respecto a la declaración y uso de matrices está este otro post: ¡Ah nunca he escrito sobre matrices!, voy a tener que ponerme a ello.</li>
<li>Para dudas con respecto a los ciclos for, sí tengo un post: <a href="http://codigoc.org/186-ciclos-for-en-c">Ciclos for en C++</a>.</li>
</ul>
<p>Tenemos 3 matrices, en la primera guardamos nuestros 10 números aleatorios, en la segunda los números que queden en la primera clasificación (<em>menores que 10</em>) y en la tercera los que queden en la segunda clasificación. Así que lo que hacemos es ir traspasando los valores de la primera matriz a las otras dos según su valor. Para esto tenemos que llevar en el mismo ciclo 3 cuentas diferentes, una para cada matriz.</p>
<p>Las variable <em>ct1</em> y <em>ct2</em> se encargan de ir cambiando los índices de las matrices <em>cls1</em> y <em>cls2</em> respectivamente, por lo que sólo deben aumentar cuando en realidad sea necesario.</p>
<p>Después lo único necesario es mostrar nuestras dos matrices. Como cada matriz puede tener un número de elementos diferentes cada vez, tenemos que hacer dos ciclos, uno para cada matriz con <em>ct1</em> o <em>ct2</em> como límite.</p>
<p>Como última aclaración sólo digo que, tal como dice el problema, el número 10 nunca va a quedar clasificado en algún rango porque el 10 no es menor que 1o y tampoco es mayor que 10.</p>
<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2010. |
<a href="http://codigoc.org/563-clasificar-numeros-en-c">Permalink</a> |
<a href="http://codigoc.org/563-clasificar-numeros-en-c#comments">11 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/563-clasificar-numeros-en-c/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Convertir segundos a horas, minutos y segundos</title>
		<link>http://codigoc.org/569-convertir-segundos-a-horas-minutos-y-segundos</link>
		<comments>http://codigoc.org/569-convertir-segundos-a-horas-minutos-y-segundos#comments</comments>
		<pubDate>Wed, 24 Nov 2010 01:52:46 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[operadores]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=569</guid>
		<description><![CDATA[Como les prometí en el post anterior, en este post vamos a hablar sobre un programa que usa los operadores compuestos de manera muy útil: convierte los segundos en horas minutos y segundos. El programa es este: #include &#60;iostream&#62; using namespace std; &#160; int main&#40;&#41; &#123; int sec, hr, min; cout &#60;&#60; &#34;Introduce los segundos: [...]]]></description>
			<content:encoded><![CDATA[<p>Como les prometí en el post anterior, en este post vamos a hablar sobre un programa que usa los <a href="http://codigoc.org/551-operadores-compuestos-en-c">operadores compuestos</a> de manera muy útil: convierte los segundos en horas minutos y segundos.</p>
<p>El programa es este:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> 
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> sec, hr, min<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Introduce los segundos: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> sec<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> sec <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; segundos son &quot;</span><span style="color: #008080;">;</span>
    hr <span style="color: #000080;">=</span> sec <span style="color: #000040;">/</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">60</span><span style="color: #000040;">*</span><span style="color: #0000dd;">60</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    sec <span style="color: #000040;">%</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">60</span><span style="color: #000040;">*</span><span style="color: #0000dd;">60</span><span style="color: #008080;">;</span>
    min <span style="color: #000080;">=</span> sec <span style="color: #000040;">/</span> <span style="color: #0000dd;">60</span><span style="color: #008080;">;</span>
    sec <span style="color: #000040;">%</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">60</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> hr <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; horas &quot;</span> <span style="color: #000080;">&lt;&lt;</span> min <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; minutos y &quot;</span> <span style="color: #000080;">&lt;&lt;</span> sec <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; segundos&quot;</span> <span style="color: #000080;">&lt;&lt;</span> endl<span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Primero dividimos los segundos <em>sec</em> entre 60*60 (3600) para obtener los horas y lo guardamos en <em>hr</em>. Noten que la variable <em>sec</em> no cambia.</p>
<p>Luego obtenemos el residuo de dividir <em>sec / 60*60</em> (<em>es lo que el operador % hace</em>) y lo guardamos en la misma variable. En este paso sí modificamos la variable <em>sec</em>, ahora contiene los segundos iniciales menos las horas que ya obtuvimos en el paso anterior.</p>
<p>Ahora dividimos nuevamente la variable <em>sec / 60</em> para obtener los minutos y lo guardamos en <em>hr</em>. La variable <em>sec</em> no cambia.</p>
<p>Luego obtenemos el residuo de dividir <em>sec / 60</em> (<em>es lo que el operador % hace</em>) y lo guardamos en la misma variable. En este paso sí modificamos la variable <em>sec</em>, ahora contiene los segundos iniciales menos las horas menos los minutos.</p>
<p>Ya sólo mostramos las tres variable y listo.</p>
<p>Ahora, si somos de los que nos preocupamos por el lenguaje, veremos que a veces hay errores de ortografía como &#8220;1 minutos&#8221;. Para solucionar eso sólo necesitamos unos cuantos ifs:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include &lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> 
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> sec, hr, min<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Introduce los segundos: &quot;</span><span style="color: #008080;">;</span> <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> sec<span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> sec <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; segundos son &quot;</span><span style="color: #008080;">;</span>
    hr <span style="color: #000080;">=</span> sec <span style="color: #000040;">/</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">60</span><span style="color: #000040;">*</span><span style="color: #0000dd;">60</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    sec <span style="color: #000040;">%</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">60</span><span style="color: #000040;">*</span><span style="color: #0000dd;">60</span><span style="color: #008080;">;</span>
    min <span style="color: #000080;">=</span> sec <span style="color: #000040;">/</span> <span style="color: #0000dd;">60</span><span style="color: #008080;">;</span>
    sec <span style="color: #000040;">%</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">60</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> hr <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; hora&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>hr <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;s&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; &quot;</span> <span style="color: #000080;">&lt;&lt;</span> min <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; minuto&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>min <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;s&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; y &quot;</span> <span style="color: #000080;">&lt;&lt;</span> sec <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; segundo&quot;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">if</span><span style="color: #008000;">&#40;</span>sec <span style="color: #000040;">!</span><span style="color: #000080;">=</span> <span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span> <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;s&quot;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2010. |
<a href="http://codigoc.org/569-convertir-segundos-a-horas-minutos-y-segundos">Permalink</a> |
<a href="http://codigoc.org/569-convertir-segundos-a-horas-minutos-y-segundos#comments">21 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/569-convertir-segundos-a-horas-minutos-y-segundos/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Cómo pasar una matriz o arreglo como parámetro a una función</title>
		<link>http://codigoc.org/530-como-pasar-una-matriz-o-arreglo-como-parametro-a-una-funcion</link>
		<comments>http://codigoc.org/530-como-pasar-una-matriz-o-arreglo-como-parametro-a-una-funcion#comments</comments>
		<pubDate>Fri, 29 Oct 2010 03:26:20 +0000</pubDate>
		<dc:creator>THEbatzuk</dc:creator>
				<category><![CDATA[Programas]]></category>
		<category><![CDATA[arreglos]]></category>
		<category><![CDATA[funciones]]></category>

		<guid isPermaLink="false">http://codigoc.org/?p=530</guid>
		<description><![CDATA[Bueno, casi creo que nunca he hablado de matrices, parámetros o funciones en este blog, pero este post es una petición de Rodrigo que me dijo por email que tenía problemas con su tarea porque no sabe cómo pasar una matriz como parámetro a una función en c++. Es algo sencillo, pero difícil de deducir. [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, casi creo que nunca he hablado de matrices, parámetros o funciones en este blog, pero este post es una petición de Rodrigo que me dijo por email que tenía problemas con su tarea porque no sabe <strong>cómo pasar una matriz como parámetro a una función en c++</strong>. Es algo sencillo, pero difícil de deducir. Veamos.</p>
<p>Si tu arreglo es de una dimensión&#8230;<br />
<code>int matriz[4];</code><br />
&#8230; la forma de declarar la función es la siguiente:<br />
<code>void fx(int m[4]) { ...código... }</code><br />
Y la forma de llamar la función sería:<br />
<code>fx(matriz);</code></p>
<p>Si el arreglo es de dos dimensiones&#8230;<br />
<code>int matriz[4][3];</code><br />
&#8230; pues es lo mismo:<br />
<code>void fx(int m[4][3]) { ...código... }</code><br />
Y la forma de llamar la función sería:<br />
<code>fx(matriz);</code></p>
<p>Si la función retorna una matriz&#8230;<br />
<code>int matriz[4];</code><br />
&#8230; se declara normal:<br />
<code>void fx(int m[4]) { return matriz[4]; }</code><br />
Y la forma de llamar la función sería:<br />
<code>matriz[4] = fx(matriz);</code></p>
<p>Este programa pide tres números, los almacena en una matriz, le suma 1 a cada elemento y los muestra, usando para cada acción una función. Así que tenemos funciones que reciben matrices y que retornan matrices. Chéquenlo.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#include&lt;iostream&gt;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> std<span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">void</span> pedir<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> matriz<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span>, <span style="color: #0000ff;">int</span> len<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;=</span>len<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;Numero &quot;</span> <span style="color: #000080;">&lt;&lt;</span> i<span style="color: #000040;">+</span><span style="color: #0000dd;">1</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot;:? &quot;</span><span style="color: #008080;">;</span>
        <span style="color: #0000dd;">cin</span> <span style="color: #000080;">&gt;&gt;</span> matriz<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> sumar<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> matriz<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span>, <span style="color: #0000ff;">int</span> len<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;=</span>len<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        matriz<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span><span style="color: #000040;">++</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> matriz<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">void</span> mostrar<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> matriz<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span>, <span style="color: #0000ff;">int</span> len<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">for</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> i<span style="color: #000080;">=</span><span style="color: #0000dd;">0</span><span style="color: #008080;">;</span> i<span style="color: #000080;">&lt;=</span>len<span style="color: #008080;">;</span> i<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
        <span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> matriz<span style="color: #008000;">&#91;</span>i<span style="color: #008000;">&#93;</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #FF0000;">&quot; &quot;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">int</span> matriz<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #000080;">=</span><span style="color: #008000;">&#123;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#125;</span>, len <span style="color: #000080;">=</span> <span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span>matriz<span style="color: #008000;">&#41;</span><span style="color: #000040;">/</span><span style="color: #0000dd;">sizeof</span><span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    pedir<span style="color: #008000;">&#40;</span>matriz, len<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    matriz<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span> <span style="color: #000080;">=</span> sumar<span style="color: #008000;">&#40;</span>matriz, len<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    mostrar<span style="color: #008000;">&#40;</span>matriz, len<span style="color: #000040;">-</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<hr />
<p><small>Post escrito en <a href="http://codigoc.org">Código C++</a> © 2010. |
<a href="http://codigoc.org/530-como-pasar-una-matriz-o-arreglo-como-parametro-a-una-funcion">Permalink</a> |
<a href="http://codigoc.org/530-como-pasar-una-matriz-o-arreglo-como-parametro-a-una-funcion#comments">9 comentarios</a>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://codigoc.org/530-como-pasar-una-matriz-o-arreglo-como-parametro-a-una-funcion/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

