Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc u vezi funkcije

[es] :: C/C++ programiranje :: Pomoc u vezi funkcije

[ Pregleda: 1552 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tripleqqqqq

Član broj: 315529
Poruke: 22



+1 Profil

icon Pomoc u vezi funkcije13.06.2013. u 22:07 - pre 131 meseci
Funckiji treba da se prosledi matrica(MAXN*MAXM) i brojevi m i n, ona treba da nadje u toj matrici novu matricu cije su dimenzije n*m, ali da svi elementi u novoj matrici budu veci od 0, i treba da vrati pokazivac na gornji levi clan nove matrice, ako takva matrica ne postoji treba da vrati NULL.

MAXN i MAXM su makro-i.

Na primer, ako se trazi matrica 3x3, a data je 4x6:
Code:

-1   5   9   8  -7   6
 5  -2   1   1   1   5
-4   8   1   2   3   4
-1   7   2   8   7  -5

Treba da vrati pokazivac na broj jedan, to je druga vrsta, treca kolona. Tj. na elemenat [1][2].

Code:

int
*pronadji(int n, int m, int** matrica)
{

}


Ako moze neka pomoc oko ovog, ne mora ceo kod, moze samo ideja ili nesto.

Unapred hvala!
 
Odgovor na temu

glorius
Damir Nikolic
C++ developer
SR

Član broj: 4366
Poruke: 428
*.dynamic.isp.telekom.rs.

ICQ: 208550327


+14 Profil

icon Re: Pomoc u vezi funkcije14.06.2013. u 00:43 - pre 131 meseci
Code:


bool pronadjiPodmatricu(int startIndexN, int startIndexM, int sizeN, int sizeM, int** matrica)
{
       for(int j=startIndexM;j<maxStartM + sizeM;++j)
       { 
             for(int i=startIndexN;i<maxStartN + sizeN;++i)
             {
                    if(matrica[j][i] < 0)
                    {
                         return false;
                    }
             }
       }
         
       return true;          
}

int *pronadji(int n, int m, int** matrica)
{
        // maxStart oznacava najveci index reda i kolone sa kojim pocinjemo podmatricu
        int maxStartN = MAXN - n;
        int maxStartM = MAXM - m;
        int* pResult = 0;

        for(int j=0;j<maxStartM;++j)
        { 
             for(int i=0;i<maxStartN;++i)
             {
                  if(pronadjiPodmatricu(i, j, n, m, matrica)
                  {
                        pResult = &matrica[j][i];
                  }
             }
        }

        return pResult;
}



Nije testirano tako da ako ima problema, slobodno javi :)


EOF
 
Odgovor na temu

tripleqqqqq

Član broj: 315529
Poruke: 22



+1 Profil

icon Re: Pomoc u vezi funkcije14.06.2013. u 01:19 - pre 131 meseci
To je to, radi, jedino cu da ubacim return pResult gore u uslovu da bi izaso iz funkcije cim nadje prvi, da ne ide do kraja, jer mislim da mi treba prvo pojavljivanje.

Hvala! :)
 
Odgovor na temu

[es] :: C/C++ programiranje :: Pomoc u vezi funkcije

[ Pregleda: 1552 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.