Buenas estoy empezando en programacion C y me gustaria que me ayudarais con este ejercicio:
Dado un vector de 1000 enteros consecutivos del 1 al 1000.
escribe un programa que calcule la suma de los 1000 enteros realizando solo una suma y una multiplicacion.
Hola, la ayuda se realiza sobre algo, sino no es ayuda, se llama hacerte el problema. Dos cosas:
1. ¿Qué llevas hecho?
2. ¿Dónde te atascas?
Un saludo.
#include<stdio.h>
#include<windows.h>
main(){
int i,ve[1000];
int suma;
printf("la suma de las componentes del vector es /n");
suma=0;
i=ve[1000];
for(i=1;i<999;i++){
suma=suma+ve;
printf("la suma es %i",suma);
}
system("pause");
}
He intentado sumar las componentes de esta forma pero no me sale...
Pero la cosa es que me pide la suma con una multiplicación y no se como plantearlo
Lo que me descuadra es lo de una multiplicación y una suma. Si conoces la fórmula de la suma de una progresión aritmética sabrás que:
[latex]\displaystyle\sum _{i=1}^{N} \left(i\right) = \frac{N(N+1)}{2}[/latex]
Pero claro la única forma de poner eso como una sola multiplicación y una suma es sustituir N por 1000:
[latex]500\cdot(1000+1)[/latex]
Aunque sigue sin cuadrarme lo del vector.
Por otra parte en el código que expones no sé que quieres hacer cuando pones
i=ve[1000];
Debes saber que esa posición no existe, tus posiciones disponibles son de 0 a 999 , es decir 1000 posiciones.
PD: Pon tu codigo con las etiquetas GeSHi, sino cada vez que pongas unos corchetes con una i, te sale en cursiva lo demás.
La clave de todo está en que los números son consecutivos.
Un saludo.
Como te dicen solo necesitas el numero maximo. No nexesitas declarar todo un vector para ello.
Tengo un video que explica la formula que puso avesudra
[youtube=640,360]https://www.youtube.com/watch?v=DmOeOtIWhG4[/youtube]
Espero y te sirva.
Saludos
vale ya lo he hecho era simplemente saber esa formula muchas gracias