[C++] Dodawanie wybranych liczb

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;

}

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ć.

#include using namespace std;

reszta z dzielenia przez 10 to ostatnia cyfra danej liczby

19%10 == 9

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

cin >> tmp;

Musisz jakoś te liczby pobrać ?

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

Nie kapuje :smiley:

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

Gdy n jest liczbą do której sumujemy:

#include using namespace std;

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

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.

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

Tak będzie lepiej:

#include using namespace std;