Jump to content

Recommended Posts

Posted

Buenas, pues haciendo este ejercicio de project euler:

 

 

 

1430252631.png

 

 

 

Mi idea principal es: "Vale, voy a comprobar los 2 ejemplos que ponen de los 10 primero numeros naturales y luego simplemente aumentando lo hago con 100.

 

Para el primero hago esto:

#include <iostream>
#include <cmath>
using namespace std;

int main(){
  int sum_squares;


   for(int i = 0;i<11;i++){

     sum_squares += pow(i, 2);

     }
   
  cout << sum_squares<< endl;
}

Y perfecto, me da 385, luego hago otro aparte para el segundo, que viene siendo otro for.

 for(int j = 0; j < 11; j++)
  {
    square_of_sum += j;

    }
square_of_sum = pow(square_of_sum, 2);

Y tambien me da bien, pero si pongo todo en un mismo cpp, me dan valores rarísimos.

 

Mi programa final es el siguiente:

#include <iostream>
#include <cmath>
using namespace std;

int main(){
  int sumas_j;
  int sum_squares;
  int square_of_sum;
  int diference;

   for(int i = 0;i<11;i++){

     sum_squares += pow(i, 2);

     }
    for(int j = 0; j < 11; j++)
  {
    //sumas_j += j;
    square_of_sum += j;

    }
    square_of_sum = pow(square_of_sum, 2);
  cout << sum_squares<< endl;
   cout << square_of_sum << endl;
}

Debería funcionar pero no lo hace, entonces lo que hago es comentar todo el codigo de uno de los ejemplos y entonces si funciona. Y aunque haga esto:

#include <iostream>
#include <cmath>
using namespace std;

int main(){
  int square_of_sum;


    for(int j = 0; j < 11; j++)
  {
    square_of_sum += j;

    }
square_of_sum = pow(square_of_sum, 2);  
cout << square_of_sum << endl;
  cout << sum_square << endl; //Añado esta y cambia todo.

Por solo añadirle otro cout, ya me dan valores que no deberían dar. Sin añadir más nada, solo un cout.

 

Resultado cuando añado un cout:

1430253309.png

 

Por que me sale si solo estoy añadiendo un simple cout, ni siquiera le quité el comentario al otro for... Alguien me ayuda? es rarísimo.

 

No se si se me entiende. Si hace falta, hago un video xD

 

Gracias de antemano.

Posted

Acostúmbrate a inicializar las variables de tipo numéricas en 0, eso te ayudará a encontrar problemas en tus aplicaciones.

int variable1 = 0;

Posted

Anda, cierto. Apenas se C++, pero eso de dar valor 0 a las variables no lo sabía. Muchas gracias a los 2 por comentar ^^

#solved.

  • Dilong locked this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies to enhance your browsing experience and provide relevant content. By continuing to browse, you agree to our We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. and Terms of Use. For more information on how we protect your data, please check our Privacy Policy.