נושאים פעיליםנושאים פעילים  הצגת רשימה של חברי הפורוםרשימת משתמשים  חיפוש בפורוםחיפוש  עזרהעזרה
  הרשמההרשמה  התחברותהתחברות RSS עדכונים
תיכנות
RSS UnderWarrior Forums : RSS תיכנות
נושא

נושא: רכיבים קשירים

שליחת תגובהשליחת נושא חדש
כותב
הודעה << נושא קודם | נושא הבא >>
batelch
משתמש מתחיל
משתמש מתחיל


הצטרף / הצטרפה: 06 May 2008
משתמש: מנותק/ת
הודעות: 3
נשלח בתאריך: 18 May 2008 בשעה 18:39 | IP רשוּם
ציטוט batelch

שלום

יש לי גרף קשיר ואני צריכה לבנות גרף קשיר עם קשתות הפוכות.

יש לי פונקצית הוספה שמוסיפה קשת לגרף ניסיתי לשלוח לפונקציה זו את הקודקודים בסדר הפוך אבל משהו מסתבך לי....

הנה הפונקציה של ההוספה:

void Graph::Add(char n1, char n2)

{

int index=-1;

bool flag=false;

for(int i=0; i<20 && Arr[i]; i++)

{

if (Arr[i]->getName()==n1)index=i;

if (Arr[i]->getName()==n2)flag=true;

}

if(flag&&index!=-1)

{

Edge* tmp=new Edge(n2,NULL);

if (!Arr[index]->getFirst())

Arr[index]->setFirst(tmp);

else

Arr[index]->getFirst()->setNext(tmp);

}

else

cout<<"you have mistake\n";

}

וזו פונקציה לבנית גרף עם קשתות הפוכות:

void Graph::Transpose(Graph g, Graph &gt)

{

bool v1=false;

bool v2=false;

cout<<"Transpose\n";

for(int i=0; i<20&&g.Arr[i] ;i++)

{

if(g.Arr[i]->getFirst())

{

Edge* tmp= g.Arr[i]->getFirst();

while(tmp)

{

Add(tmp->getVertex()->getName(),g.Arr[i]->getName());

tmp=tmp->getNext();

}

}

}

}

תודה

חזרה לתחילת העמוד הצג את כרטיס החבר של batelch חפש הודעות אחרות של batelch
 

אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם

  שליחת תגובהשליחת נושא חדש
גרסת הדפסה גרסת הדפסה

קפיצה לפורום
אינך יכול/ה לשלוח נושאים חדשים בפורום זה
אינך יכול/ה להגיב לנושאים בפורום זה
אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה
אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה
אינך יכול/ה לצור סקרים בפורום זה
אינך יכול/ה להצביע בסקרים בפורום זה