Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Mientras

#1
Viéndolo bien, la secuencia me parece que está mal planteada.

Para n=6 tendrías:

((1/6)-0) - ((2/6)-1) + ((3/6)-2) - ((4/6)-3) - ((5/6)-4) - ((6/6)-5)

El último elemento "(6/6)-5" es lo mismo que "(N/N)-5" es decir  " -4 " . Pero según lo que dice la secuncia, el último elemento es "N/1" que sería " 6/1 " o "6" . Entonces aquí habría un problema.

Lo que yo creo que intentaron decir con la secuencia es:

(1/(N-0)) - (2/(N-1)) + (3/(N-2)) - (4/(N-3)) + (5/(N-4)) - (6/(N-5))       //este ultimo es el N/1

Entonces para n=6 tendrías.

(1/(6-0)) - (2/(6-1)) + (3/(6-2)) - (4/(6-3)) + (5/(6-4)) - (6/(6-5)) =
(1/6) - (2/5) + (3/4) - (4/3) + (5/2) - (6/1)

Como verás el último elemento es  "6/1" que sería equivalente al "N/1".

Si no es así, como yo creo, entonces no sabría darte una solución.  :huh:
Tal vez otro pueda ayudarte.
#2
En el post anterior quise decir que en vez de i-- es i++.

Si haces esto:
numerador--;
total = total - (i/n)-numerador;
la variable "numerador" va a tomar valores negativos, y luego cuando restas, se va a efectuar una suma. Esto es por ley de signos.


"(1/N-0) - (2/N-1) + (3/N-2) - (4/N-3) + (5/N-4) + N/1"

Para arreglar la fórmula fíjate que el numero que le vas restando a cada fracción es "1 menos" que el numerador. Entonces si arriba tienes "i" el número que le vas a restar sería "(i-1)".
#3
Programación C/C++ / Re: Centinela 9999
28 Agosto 2015, 08:47 AM
Solo te funciona con 2 numeros por que está cogiendo el "primer" y "ultimo" dividido entre la cantidad de números.

Si ingresas n1 n2 n3 n4, te va a dar : (n1+n4)/4.

No hay necesidad de usar otra variable para ingresar el nuevo número.

El problema está en la línea 35.

#4
En el numerador no puede ir la variable "numerador" por que vale 1, y la secuencia indica que debe ir incrementando. Por lo que lo más adecuado es que aproveches la variable "i" si está inicializada con "1", o "i+1" si está inicializada con "0".

Con:
(1/N) - (2/N-1) + (3/N-2) - (4/N-3) + (5/N-4) + N/1

No me queda claro si quieren decir  "((2/N)-1)" o "(2/(N-1))".

* la linea 32 no incrementa.
#5
No hay problema.
Mas bien algo q no me había dado cuenta. Trata de evitar declarar las variables fuera de la función principal. Esto se llama "variables globales".
Y también cuando escribas código dentro de un if,while,etc ponlo "más a la derecha". Esto lo llama identación o sangrado.
#6
La linea 36 y 41 están de más, por que en el "for" con "i++" ya le estás indicando que incremente uno en cada iteración. Por eso te da 3 intentos cuando pones 5, ya que en cada bucle " i " toma el valor de 0,2,4

Un numero puede ser mayor que otro, menor que otro, o igual q el otro, esas son todas las posibilidades. Por eso nunca vas a llegar a la linea 49.

Fuera del "for" puedes usar un "if" para saber con que valor terminó la variable "i". Si terminó con 5 entonces dices que perdió. Es una forma, tal vez se te ocurra otra mejor.

* Si uso "for(int x=0 ; i<=10 ; i++)" eso son 11 vueltas.
#7
En el while de la linea 13, si ingresas un valor entre 1 y 50 te va a dar "true" y va a hacer ese "cout" en un ciclo infinito. Pero igual si no corre, no es por eso.

Revisa bien tus llaves, tanto de apertura como de cierre. Están mal. Al parecer quieres hacer el "if , else if y else" dentro de ese "while" pero el "else if" está fuera del while.

Creo q tienes una llave de cierre de más.

Si vas a usar "else if", termínalo con "else" para la linea 42.

Trata de usar una llave de cierre en una línea aparte. Por ejemplo el "for" de la linea 25 parece que terminara en la línea 30, pero tienes una llave de cierre al final de la línea 27. Esto complica la lectura de código.
#8
Bueno, yo no soy de usar **, ya que no lo manejo muy bien  :-[

Como se almacena en memoria un array bidimensional ?. En uno unidimensional sé que es secuencial, y que puedo acceder mediante *(p) , *(p+1) ....




#9
No dije eso ?  :¬¬
#10
Eso imprime potencias de 2. Los múltiplos de 2 son 2,4,6,8,10,12..... .

*Eso si las potencias están incluidas en lo múltiplos.