• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ suma liczb

Object Storage Arubacloud
0 głosów
1,558 wizyt
pytanie zadane 24 listopada 2020 w C i C++ przez Kacper009123 Nowicjusz (140 p.)
edycja 24 listopada 2020 przez Arkadiusz Waluk

Siema, mam do zrobienia pętle for i while, które po podaniu liczby dodają do siebie liczby po kolei w sensie jak dam 5 to ma dodac do siebie 1+2+3+4+5, w pętli for mi działa, ale ma ktoś pomysł co może być źle w pętli while, bo mam chyba dobrze po pokazuje dobrą liczbe, ale program zamiast skonczyc na jednej linicje to leci w nieskończonosc

#include <iostream>
using namespace std;
int main()
{
    int i,n,s=0,j=1;
    cout<<"podaj ile "<<endl;
    cin>>n;
    for(i=1;i<=n;i++)
     s=s+i;
    cout<<s<<endl;
    
    while(j<=n)    
    {    
    s=s++,s<=n;    
    cout<<s<<endl;        
    }
    
    
    return 0;
    
}

2 odpowiedzi

+2 głosów
odpowiedź 24 listopada 2020 przez tangarr Mędrzec (154,860 p.)

Spójrz na warunek, pętli while. Zależy od zmiennej j, której nie dotykasz wewnątrz pętli.

A do tego co ma znaczyć konstrukcja:

s=s++,s<=n;

 

+1 głos
odpowiedź 24 listopada 2020 przez CSSoup Mądrala (6,460 p.)

Pęta leci ci w nieskończoność, bo warunek cały czas jest prawdziwy.

Tworzysz sobie zmienną i przypisujesz jej na starcie 1

// O tutaj    
 int i,n,s=0,j=1;

Z tego co widzę, nic nie dzieje się z nią przez cały czas działania programu, więc pętla leci ci w nieskończoność, ponieważ warunek w while j<=n ciągle pozostaje taki sam.

Spróbuj coś podziałać ze zmienną j :)

komentarz 24 listopada 2020 przez Kacper009123 Nowicjusz (140 p.)
a zmienna j=0 albo samo j wystarczy?
komentarz 24 listopada 2020 przez CSSoup Mądrala (6,460 p.)
Dodatkowo, z tego co rozumiem, w pętli while chcesz zrobić dokładnie to samo na tych samych zmiennych?
komentarz 24 listopada 2020 przez Kacper009123 Nowicjusz (140 p.)
okej pozmieniałem tyle, i koelga mi pomógł i wyszło mi ostatecznie cos takeigo, dzieki wielkei za pomoc #include using namespace std; int main() { int i, s=0, j=1, k=1, n, sumJ = 0, sumK = 0; cout<<"podaj ile "<<endl; cin>>n; for(i=1;i<=n;i++) s=s+i;cout<<"suma wynosi:"; cout<<s<<endl; while(j<=n) { sumJ += j++; } cout<<"suma wynosi:"; cout << sumJ << endl; do { sumK += k++; } while(k<=n); cout<<"suma wynosi:"; cout << sumK << endl; return 0; }

Podobne pytania

+1 głos
2 odpowiedzi 846 wizyt
pytanie zadane 3 grudnia 2020 w C i C++ przez Wodnica Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 614 wizyt
pytanie zadane 26 września 2020 w C i C++ przez WojtekS Początkujący (290 p.)
+1 głos
1 odpowiedź 474 wizyt
pytanie zadane 9 stycznia 2022 w C i C++ przez Sway22 Początkujący (270 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...