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

C++ suma liczb

0 głosów
2,664 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 (155,140 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 1,195 wizyt
pytanie zadane 3 grudnia 2020 w C i C++ przez Wodnica Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 1,067 wizyt
pytanie zadane 26 września 2020 w C i C++ przez WojtekS Początkujący (310 p.)
+1 głos
1 odpowiedź 1,113 wizyt
pytanie zadane 9 stycznia 2022 w C i C++ przez Sway22 Początkujący (270 p.)

93,631 zapytań

142,553 odpowiedzi

323,056 komentarzy

63,138 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2658p. - dia-Chann
  2. 2630p. - DziarnowskiJ
  3. 2550p. - raydeal
  4. 2478p. - rucin93
  5. 2361p. - Łukasz Piwowar
  6. 2348p. - Łukasz Eckert
  7. 2340p. - CC PL
  8. 2300p. - Adrian Wieprzkowicz
  9. 2082p. - Michal Drewniak
  10. 1957p. - Maurycy W
  11. 1885p. - robwarsz
  12. 1811p. - rafalszastok
  13. 1600p. - Rafał Trójniak
  14. 1588p. - Tomasz Bielak
  15. 1494p. - ssynowiec
Szczegóły i pełne wyniki

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

Kursy INF.02 i INF.03
...