Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z dodaniem liczb

Ostatnio zmodyfikowano 2017-06-11 11:35
Autor Wiadomość
PyzMenPL
Temat założony przez niniejszego użytkownika
Problem z dodaniem liczb
» 2017-06-11 09:53:05
Witam. Mam problem z moim programem. Jak widzicie wypisze on liczby od 1 do 100. Problem jest w tym że teraz chcę to dodać (czyli 1+2+3+4+5...) i pokazać

C/C++
#include <iostream>
using namespace std;
int main()
{
    ; for( int i = 1; i < 101; i++ )
    {
        cout << i << "\n"
        ; }
   
    ; }
P-162367
carlosmay
» 2017-06-11 11:04:50
Co to za formatowanie kodu? Po co zbędne średnik i dlaczego w takich dziwnych miejscach?
C/C++
#include <iostream>
using namespace std;
int main()
{
    for( int i = 1; i < 101; i++ ) {
        cout << i << "\n";
    }
}
Tak mogłoby to wyglądać ;)

W dodawaniu potrzebujesz zmienną do przechowania sumy i aktualizuj ją w każdym obrocie pętli.
P-162369
Kinexity
» 2017-06-11 11:35:54
To czego chcesz dokonać można zrobić na dwa sposoby:

- Sposób z pętlą:

C/C++
#include "iostream"
using namespace std;

int main() {
    int suma = 0;
    for( int i = 0; i <= 100; i++ ) {
        suma += i;
    }
    cout << suma << endl;
}

- Sposób bez pętli:

C/C++
#include "iostream"
using namespace std;

int main() {
    cout <<(( 1 + 100 ) *( 100 - 1 + 1 ) / 2 ) << endl;
}

W drugim sposobie może cię zdziwić dlaczego nie skróciłem działania 100 - 1 + 1 do samego 100, ale już spieszę z wyjaśnieniem - zostawiłem tak, aby było widać, że jest to wzór na sumę ciągu: a > b <=> (a+b)/2*(a-b+1). Zgodnie z podanym wzorem już samo a+b dzieli się przez 2, lecz to dzielenie przesunąłem na koniec w kodzie, aby była gwarancja, że dzielona liczba będzie parzysta - w skrócie, aby była pewność, że program nie zgubi miejsca dziesiętnego po przecinku.
P-162371
« 1 »
  Strona 1 z 1