[C++] Dodawanie wybranych liczb


(adriano765) #1

chce aby program dodawał liczby kończące się na 2,3 i 9 i mam z tym problem oto kod który udało mi się stworzyć.

#include

using namespace std;

int main()

{

	int suma,b,i,a=0,k=12,l=13,j=19;

	cout << "Wrowadz liczbe: ";

	cin >> i;

	while (i>a)

	{

		for(b;b>i;b++)

		{

		suma+=k;

		k+=10;

		a++;

		break;

		}

		for(b;b>i;b++)

		{

		suma+=l;

		l+=10;

		a++;

		break;

		}

		for(b;b>i;b++)

		{

		suma+=j;

		j+=10;

		a++;

		break;

		}

	}

	cout <
return 0;

}

(Frankfurterium) #2

Nazywanie zmiennych pojedynczymi literkami ma sens jedynie przy iteracji. W innych przypadkach nazwa powinna coś znaczyć. Wcięcia też robisz niekonsekwentnie.

Najłatwiej byłoby wczytywać liczbę do stringa i sprawdzać jego ostatnią komórkę. Jeżeli pasuje do założeń, to konwertować na int i sumować.


(Drobok) #3
#include using namespace std;

#4

reszta z dzielenia przez 10 to ostatnia cyfra danej liczby

19%10 == 9


(adriano765) #5

A po co w pętli jest to wyrażenie

cin >> tmp;

(Drobok) #6

Musisz jakoś te liczby pobrać ?


(adriano765) #7

W tym zadaniu chodziło chyba żeby podać mu ilość np. 3 i on zsumuje liczby 12, 13 i 19.


(Drobok) #8

Nie kapuje :smiley:


(adriano765) #9

program który liczy sumę początkowych liczb naturalnych kończących się na 2,3 lub 9.


(Drobok) #10

Gdy n jest liczbą do której sumujemy:

#include using namespace std;

(adriano765) #11

Dzięki wielkie ten drugi kod jest dobry tylko zaczyna od sumowania 2 ,3 i 9 a to są cyfry.


(Pablo_Wawa) #12

Drobok napisał Ci piękny kod.

Cyfry też są liczbami (jednocyfrowymi). Nic wcześniej nie wspominałeś, że mają to być liczby większe niż 10.


(adriano765) #13

w treści zadania nic o tym nie ma ale może mówisz dobrze że 2 3 i 9 też powinno sumować.


(Drobok) #14

Tak będzie lepiej:

#include using namespace std;