<div dir="ltr">Hola Betto,<div class="gmail_extra"><br></div><div class="gmail_extra">Has cometido un error en el uso de las variables. Escribes:<br><br><div class="gmail_extra">cin >> c;</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span></div><div class="gmail_extra">for (c = 0; c <= n; c++)</div><div class="gmail_extra"><br></div><div class="gmail_extra">cuando deberías usar otra variable para controlar las iteraciones, porque 'c' se usa para controlar el bucle. Lo que está ocurriendo es que se ignorará el valor en 'c' al llegar al bucle 'for', ya que lo reasignas a 0. Esto sería,</div><div class="gmail_extra"><br></div><div class="gmail_extra">for( int i=0; i<=c; i++ )</div><div class="gmail_extra"><br></div><div class="gmail_extra">La razón de la aparente aleatoriedad del comportamiento del programa es que 'n' no tiene un valor inicializado ni asignado previamente a ser usado. Esto implica que usará cualquier valor ahí guardado en memoria; es decir, contiene "basura", y por tanto recibes "basura".</div><div class="gmail_extra"><br></div><div class="gmail_extra">Como último matiz, aconsejo usar 'float' para guardar el promedio. Esto implica que tendrás que forzar una división entre 'float', involucrando un "cásting"; por ejemplo,</div><div class="gmail_extra"><br></div><div class="gmail_extra">float prom = (float)suma / can;</div><div class="gmail_extra"><br></div><div class="gmail_extra">También aconsejo acostumbrarte a usar los operadores de acumulación especializados como por ejemplo, ++ y +=; esto es,</div><div class="gmail_extra"><br></div><div class="gmail_extra">can++;</div><div class="gmail_extra">suma += n;</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Espero que esto te ayude.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Steven</div><div class="gmail_extra"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-10-14 9:27 GMT-04:00 Betto Rodriguez <span dir="ltr"><<a href="mailto:segovia.al@gmail.com" target="_blank">segovia.al@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hola!<div>Tengo un pequeño programa que hace exactamente esto: </div><div>"Leer N números y hallar e imprimir la suma, la cantidad y el promedio de todos los números que son mayores que 0 y menores que 100."<br></div><div><br></div><div>El problema que tengo es que cuando lo ejecuto  la primera vez funciona correctamente, pero si lo cierro y lo vuelvo a ejecutar no respeta el  ciclo for. </div><div>Por ejemplo si la primera vez indique que lea 5 números cuando vuelvo a ejecutar el programa y le indico que lea solamente 3 el quiere leer 5 variables. </div><div>He verificado mucho y no se de que pueda tratarse, también he probado en otras computadoras y es lo mismo. Como IDE actualmente uso Dev C++ 5.11 y compilador TDM-GCC para 64 bits, Sistema Operativo Windows 10.</div><div><br></div><div>A continuación les dejo el código integro:</div><div><br></div><div><div>#include <iostream></div><div>#include <cstdlib></div><div><br></div><div>using namespace std;</div><div><br></div><div>int main()</div><div>{</div><div><span style="white-space:pre-wrap">   </span>int n;</div><div><span style="white-space:pre-wrap">   </span>int c;</div><div><span style="white-space:pre-wrap">   </span>int can = 0;</div><div><span style="white-space:pre-wrap">     </span>int suma = 0;</div><div><span style="white-space:pre-wrap">    </span>int prom = 0;</div><div><span style="white-space:pre-wrap">    </span></div><div><span style="white-space:pre-wrap"> </span>cout << "Ingrese la cantidad de numeros a leer: ";</div><div><span style="white-space:pre-wrap">       </span>cin >> c;</div><div><span style="white-space:pre-wrap">  </span></div><div><span style="white-space:pre-wrap"> </span>for (c = 0; c <= n; c++)</div><div><span style="white-space:pre-wrap">      </span>{</div><div><span style="white-space:pre-wrap">                </span>cout << "Ingrese numeros: ";</div><div><span style="white-space:pre-wrap">             </span>cin >> n;</div><div><span style="white-space:pre-wrap">          </span></div><div><span style="white-space:pre-wrap">         </span>if (n > 0 && n < 100)</div><div><span style="white-space:pre-wrap">              </span>{</div><div><span style="white-space:pre-wrap">                        </span>can = can + 1;</div><div><span style="white-space:pre-wrap">                   </span>suma = suma + n;</div><div><span style="white-space:pre-wrap">         </span>}</div><div><span style="white-space:pre-wrap">        </span>}</div><div><span style="white-space:pre-wrap">        </span>prom = suma/ can;</div><div><span style="white-space:pre-wrap">        </span>cout << "Suma: " << suma << endl;</div><div><span style="white-space:pre-wrap">    </span>cout << "Promedio: " << prom << endl;</div><div><span style="white-space:pre-wrap">        </span></div><div><span style="white-space:pre-wrap"> </span>system ("pause");</div><div><span style="white-space:pre-wrap">      </span>return 0;</div><div>}</div></div></div></blockquote></div></div></div>