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

IF wykonanie sumy z przedziału

VPS Starter Arubacloud
0 głosów
264 wizyt
pytanie zadane 8 maja 2018 w C i C++ przez aciorek Nowicjusz (150 p.)
edycja 8 maja 2018 przez aciorek

Mam wykonać sume z przedziału od 1 do liczby podanej przez uzytkownika. Niestety po podaniu liczby do której program ma wykonywać pętle wypisuje 1 lub tylko podaną liczbę, tak jakby ignorował pętlę if. Używam programu Dev c++.

#include<iostream>
#include<conio.h>

using namespace std;
int main()
{
	int z,y,x;
	z=1;
	y=0;
	cout<<"Podaj ilosc: ";
	cin>>x;
	
	if(x>z)
	{
	y=y+z;
	z++;
	}
	else
	cout<<"Wynik: "<<y;
	
	getch();
	return 0;
}

podaje tylko ilosc

2 odpowiedzi

+1 głos
odpowiedź 8 maja 2018 przez mokrowski Mędrzec (156,260 p.)
wybrane 8 maja 2018 przez aciorek
 
Najlepsza

1) To zadanie możesz wykonać z łatwością bez użycia jakiejkolwiek pętli. Wystarczy zauważyć że:

sum(od=1, do=n, po=i) = ( n * (n + 1) ) / 2

... prosta indukcja matematyczna.

2) Jeśli jednak koniecznie chcesz mieć pętlę, wystarczy zauważyć że nie wymaga n obiegów tylko n / 2 (sumujesz elementy od 1 i "od końca czyli od n w dół", aż oba elementy będą sobie równe).

3) Jeśli koniecznie chcesz mieć pętlę od 1 do n, wystarczy w for(...) podać element docelowy n + 1.

Tak czy inaczej, if(...) jest tu zupełnie zbędny.

+2 głosów
odpowiedź 8 maja 2018 przez RafalS VIP (122,820 p.)
If to nie petla :p. Zamien if na while :p
komentarz 8 maja 2018 przez aciorek Nowicjusz (150 p.)
Dobra. Działa dziękuję <facepalm>
komentarz 8 maja 2018 przez aciorek Nowicjusz (150 p.)

@RafalS,
 A pytanko

Czy jest możliwośc aby to działało z warunkiem if?

komentarz 8 maja 2018 przez kenjiro244 Dyskutant (8,600 p.)
Nie bo warunek to warunek czyli sprawdzasz raz czy coś jest większe, mniejsze lub równe. Służy tylko do sprawdzania a nie do liczenia. Możesz sprawdzić no. czy podana liczba nie jest ujemną.

Podobne pytania

0 głosów
4 odpowiedzi 5,773 wizyt
pytanie zadane 12 marca 2016 w C i C++ przez L33TT12 Gaduła (3,950 p.)
+1 głos
1 odpowiedź 384 wizyt
pytanie zadane 25 maja 2022 w C i C++ przez Franciszek Nowicjusz (130 p.)
0 głosów
2 odpowiedzi 321 wizyt
pytanie zadane 26 stycznia 2022 w C i C++ przez maxkolanko1998 Gaduła (3,230 p.)

93,023 zapytań

141,986 odpowiedzi

321,290 komentarzy

62,370 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...