[C++][Pomoc] Ne razumem problem, don't send ako unesem preko 10 cifara

Započeo Bugi, April 13, 2014, 14:56:44 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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 :)
RESPECT: Blaeks, Yui_Sang, Gagi, Kapetan Husein, Luksa, Slay, Denis_Lapi, Zoran(Dude)

Programski jezici koje koristim: C, C#, Visual Basic, HTML, CSS, PHP (tek ucim).


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..
Poslednja Izmena: April 13, 2014, 16:21:52 POSLE PODNE od LuKsA
Aequam memento rebus in arduis servare mentem.

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
RESPECT: Blaeks, Yui_Sang, Gagi, Kapetan Husein, Luksa, Slay, Denis_Lapi, Zoran(Dude)

Programski jezici koje koristim: C, C#, Visual Basic, HTML, CSS, PHP (tek ucim).



*facepalm* hvala brate :D lock
RESPECT: Blaeks, Yui_Sang, Gagi, Kapetan Husein, Luksa, Slay, Denis_Lapi, Zoran(Dude)

Programski jezici koje koristim: C, C#, Visual Basic, HTML, CSS, PHP (tek ucim).