Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Quies   (23.06.2009 в 11:31)
Помогите с программой.
Ни как не получается сделать рекурсивный вывод, программа входит в бесконечный цикл.



#include <cstdlib>
#include <iostream>

using namespace std;

int vtree(int parent)
{

int array[]={0,0,0,0,0,1,4,3,6,6,7,7,4,3,5,8,9,11};

int size = sizeof(array)/sizeof(array[0]);


for(int x=0;x<size;x++){

if(array[x]==parent) {

cout << "-" << x <<endl;

 vtree(array[x]);

}

}

return 0;
}

int main(int argc, char *argv[])
{



cout << "-- 0 --" << endl;

vtree(0);


int paus;
cin >> paus;

return 0;
}



Нужно вывести дерево элементов массива. Значение массива, есть ссылка на родительский элемент.

должно получится нечто, такое:

-- 0 --
-1
--6
---9
----17
---10
-2
-3
--8
---16
--14
-4
--13
--7
---11
----18
---12
-5
--15


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: