Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Parcurgerea functiei fill  (Citit de 2808 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
ajajaj
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« : Octombrie 24, 2016, 18:42:50 »

Buna tuturor. Am o intrebare privind programul de mai jos:
Cod:
#include <iostream>
using namespace std;
int a[100][100],n,m,i,j,c=1;
void fill(int i,int j)
{if (a[i][j]==1)
{a[i][j]=c;
fill(i+1,j);
fill(i-1,j);
fill(i,j+1);
fill(i,j-1);
}}
int main()
{cout<<"n=";
cin>>n;
cout<<"m=";
cin>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(a[i][j]==1)
{c++;
fill(i,j);}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cout<<a[i][j];
return 0;}
Programul merge bine, dar problema mea este ca nu stiu cum sa parcurg partea asta:
Cod:
void fill(int i,int j)
{if (a[i][j]==1)
{a[i][j]=c;
fill(i+1,j);
fill(i-1,j);
fill(i,j+1);
fill(i,j-1);
}}
Nu ma intelegeti gresit, stiu la ce foloseste, dar nu stiu cum sa o parcurg, de exemplu, nu stiu cand iese din functie, cand revine la a doua apelare a functiei, and so on. Sunt disperata. Ma chinui la el de doua zile si tot nu imi dau seama cum. Imi puteti explica va rog frumos cum se parcurge? Multumesc mult!!
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines