Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ymanety
0 / 0 / 0
Регистрация: 02.06.2010
Сообщений: 13
#1

Доделать надо а ума не хватает - C++

09.11.2010, 22:17. Просмотров 432. Ответов 1
Метки нет (Все метки)

/*
7. Имеется массив записей, расположенных по возрастанию некоторого ключевого поля.
Одинаковых ключей нет. Построить из элементов массива бинарное дерево такое, что для
каждой вершины ключ левого сына меньше ключа отца, а ключ отца меньше ключа правого сына.
Составить программу быстрого поиска элемента с заданным ключом, возвращающую номер элемента массива,
если есть элемент с этим ключом. Если такого элемента нет, выдать соответствующее сообщение.
*/
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <windows.h>


struct node
{
int Key;
int Count;
node *Left;
node *Right;
};

class TREE
{
private:
node *Tree; // Указатель на корень дерева.
void Search (int,node**);
public:
TREE()
{
Tree = NULL;
}
node** GetTree ()
{
return &Tree;
} // Получение вершины дерева.
// Прототипы, используемых в программе, функций.
void BuildTree ();
void Vyvod (node**,int);
void MASSIV_ZAPISEY();

};

void main ()
{
TREE A;

A.BuildTree ();
cout << "\nVyvod dereva:\n";
A.Vyvod (A.GetTree(),0);

cout << "\n\n\n\n\n\nNazhmite lubuyu klavishu dlya vyhoda:";
getch();
}

void TREE::BuildTree ()
// Tree - указатель на корень дерева.
{
int el;

cout << "Vvedite klyuchi vershin dereva:\t\n" << endl;
cin >> el;
while (el != 0)
{
Search (el, &Tree);
cin >> el;

}
}

void TREE::MASSIV_ZAPISEY()
{
int A[5] = {1,2,3,4,5}; // odinakovyh klyuchey net
int i;
for (i=0; i<5; i++)

getch();
}

void TREE::Search (int x,node **p)
/* *p - указатель на корень дерева. */
{
if (*p == NULL)
{// Вершины в дереве нет; включим ее.
*p = new(node); // Выделим память.
(**p).Key = x;
(**p).Count = 1;
(**p).Left = NULL;
(**p).Right = NULL; }
else
if (x<(**p).Key) Search (x,&((**p).Left));
else
if (x>(**p).Key) Search (x,&((**p).Right));
else
(**p).Count = (**p).Count + 1;
//delete *p;
}


void TREE::Vyvod (node **w,int l)
// *w - указатель на корень дерева.
{
int i;

if (*w != NULL)
{
Vyvod (&((**w).Right), l+1);
for (i = 1; i <= l; i++)
cout << " ";
cout << (**w).Key << endl;
Vyvod (&((**w).Left), l+1);
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2010, 22:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Доделать надо а ума не хватает (C++):

Не могу довести до ума, не хватает функции - C++
/* c помощью текстового редактора блокнот создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки...

очень надо!!доделать/переделать программу с текстовыми файлами(повторы слов) - C++
нужно упорядочить слова находящиеся в тексте по убыванию частоты.При этом различия в регистре не учитывать и делать с текстовыми...

Помочь доделать программу (Надо, чтобы все значения вводились с клавиатуры) - C++
Здравствуйте, дорогие форумчане. Опять нуждаюсь в вас. Мне помочь доделать программу. Задание прикрепил на скрине, так как его...

Технический Центр Интернет » «Умным телевизорам» не хватает ума для надежной защиты - Безопасность
/06 июня 2013/ Популярность «умных телевизоров» (smart TV), способных транслировать фильмы и программы из интернета, стремительно...

Надо довести до ума, прога пашет - Pascal
Ребят помогите дописать программу выводит результат по 2 раза, что тока не использовал ставил кучу счетчиков ничего не вышло. Program...

надо как то довести до ума программу на MATLAB - Matlab
В данной работе необходимо написать программу, определяющую в какую область на рисунке, номер которого соответствует вашему варианту,...

1
ymanety
0 / 0 / 0
Регистрация: 02.06.2010
Сообщений: 13
10.12.2010, 21:26  [ТС] #2
сделал можешь удалять!!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2010, 21:26
Привет! Вот еще темы с ответами:

Простая задача в бейсик есть заготовка надо довести до ума - VBA
само задание в фото есть код преподу не нравится следующее: 1.сделать каким угодно матрицу (квадратную обязательно, в коде она...

Над чем еще надо подумать, чтобы довести базу до ума? - MS Access
Сделав вроде бы все (завела данные в таблицы, сделала необходимые запросы, формы, отчеты), у меня возник следующий вопрос: а что еще...

надо доделать прогу - Pascal ABC
i1:=1; for i:=2 to n do if a&gt;a then i1:=i; i2:=1; for i:=2 to m do if a&gt;a then i2:=i; t:=a; a:=a; a:=t;i1:=1; for i:=2 to...

доделать надо ) (МАССИВ) - Pascal ABC
Дан массив A. Удалить из него путем сдвига положительные элементы кратные трем. Программу я написал: Program zadanie_2; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.