Ocigledno nesto nisam skontao kako treba, jer mi program crashuje kad treba da uradi --matrica. Evo koda koji sam kucao (i kako sam shvatio promenljive):
b1,b0 - brojaci za broj 0 tj 1
a,b - to je valjda segy,segx u petljama, tj mesta na kojima se upisuju nule ili jedinice u smanjenoj matrici
i,j - brojaci koji idu kroz podsegment
ps- dimenzija segmenta, u mom slucaju 2 pa je velicina 2 x2;
n1- dimenzija matrice, u mom slucaju 4 pa je velicina 4x4;
kmat mi je element matrice.
Code:
KompresovanaSlika KompresovanaSlika::operator--()
{
int b1,b0;
b1=0;
b0=0;
{
for (int a =0; a*ps<n1;++a)
{
for (int b=0; b*ps<n1;++a)
{
for (int i=0; i<ps;++i)
{
for (int j=0; j<ps;++j)
{
if (kmat[a*ps +i][b*ps+j]!=1)
b0=b0+1;
else
b1=b1+1;
}
}
if (b1>b0)
kmat[a][b]=1;
else
kmat[a][b]=0;
}
}
return *this;
}
}
Pokusao sam i da uvedem novu matricu i da njoj dodelim kmat parametar ali se isto desava.
Ovo je linija koda gde mi debuger izbaci gresku:
Code:
if (kmat[a*ps +i][b*ps+j]!=1)