Uradio sam program koji sabira poslednjih m cifara unetog n broja pa kada unesem 10 cifara i manje radi sve ok a kada unesem 11 ili vise http://prntscr.com/39l3pw :P dont send blablabla evo koda:
#include <iostream>
using namespace std;
main()
{
int n,m,broj,br,zbir;
cin >> n;
cin >> m;
broj = 1;
zbir = 0;
int i=0,oj[i];
for(i=0;i<m;i++)
{
broj = broj*10;
}
br=n%broj;
for(i=0;i<m;i++)
{
oj[i] = br - (br/10)*10;
br=br/10;
zbir += oj[i];
}
cout << "zbir je:" << zbir;
system("PAUSE");
return 0;
}
Molim vas da ne pravite nove programe vec da popravite moj odnosno da mi ukazete na gresku hvala :)
prvo assignas: int i=0; i onda int oj;
Pa nemoze ti oj polje imat vrijednost 0.. Onda prakticki neces moci unosit u to..
Btw. ja stvarno ne razumijem tvoj kod i sta pokusavas tu napravit.. Evo do ceg sam ja dosao, i sad ti bi moralo radit, ali stvarno nekuzim sta pokusavas napravit tu;
#include <iostream>
using namespace std;
int main()
{
int n,m,broj,br,zbir;
cin >> n;//unos N
cin >> m;//unos M
broj = 1;
zbir = 0;
int i=0;
int oj[100];
for(i=0;i<m;i++)//LOOP unosa M
{
broj = broj*10;//Koliko broja M uneseno, toliko je broj*10
}
br=n%broj;//BR=N/broj
for(i=0;i<m;i++)
{
oj[i] = br - (br/10)*10;
br=br/10;
zbir += oj[i];
}
cout << "zbir je:" << zbir;
system("PAUSE");
return 0;
}
Btw. drugi puta objasni malo bolje molim te.. Opsirno moras objasnit. (i skini Visual Studio ili nesto slicnog, Dev-Cpp je zastario mi se cini).
EDIT: Nisi uopce ni morao koristit polja za int oj; mogao si samo napravit normalan integer i onda ga resettat na 0 nakraju loopa. Mada cak niti uopce nisi morao kreirat taj integer nego si mogao odmah zbir = zbir + (br - (br/10)*10); al ajd..
Slusaj zadatak: za dati broj n, nadji zbir poslednjih m cifara broja n. To je to, ja sam hteo ovom prvom petljom da napravim broj 10*10*10*10*10*10 gde ima m desetki, kontas? :D odnosno 10^m :D
Pa imas http://www.cplusplus.com/reference/cmath/pow/ funkciju za to.
*facepalm* hvala brate :D lock