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

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

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

Англо-русский словарь построен как дерево - C++

28.04.2013, 14:33. Просмотров 521. Ответов 0
Метки нет (Все метки)

Англо-русский словарь построен как дерево. Каждая компонента содержит английское слово, соответствующее ему русское слово и счетчик количества обращений к данной компоненте. Первоначально дерево формируется согласно английскому алфавиту. В процессе эксплуатации словаря при каждом обращении к компоненте в счетчик обраще¬ний добавляется единица.
Составить программу, которая:
• обеспечивает начальный ввод словаря с конкретными значениями счетчиков обращений;
• формирует новое представление словаря в виде дерева по следую¬щему алгоритму: а) в старом словаре ищется компонента с наибольшим зна¬чением счетчика обращений; б) найденная компонента заносится в новый словарь и удаляется из старого; в) переход к п. а) до исчерпания исходного словаря;
• производит вывод исходного и нового словарей.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе. Исходные данные могут вводиться как из файла, так из диалога

Не могу записать слова в дерево. Для одного символа работает. Помогите исправить для слов.

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream.h>
#include <string.h>
struct tree {
  
  char eng;
  char rus;
  int n;
  struct tree *left;
  struct tree *right;
};
 
struct tree *stree(struct tree *root,struct tree *r,char eng, char rus)
{
  if(!r) {
    r = (struct tree *) malloc(sizeof(struct tree));
    if(!r) {
      printf("Не хватает памяти\n");
      exit(0);
    }
    r->left = NULL;
    r->right = NULL;
    r->eng = eng;
    r->rus = rus;
    r->n = 0;
    if(!root) return r; 
    if(eng < root->eng) root->left = r;
    else root->right = r;
    return r;
  }
  if(eng < r->eng)
    stree(r,r->left,eng,rus);
  else
    stree(r,r->right,eng,rus);
 
  return root; 
}
 
void inorder(struct tree *root)
{
  if(!root) return;
 
  inorder(root->left);
  if(root->eng) printf("%c ", root->eng);cout<<" - ";  printf ("%c ", root->rus);cout<<" ["; cout<<root->n; cout<<"] ";cout<<endl;
  inorder(root->right);
}
 
int main()
{tree *root=NULL;
int n,k; char a,b;
cout<<"vvedite col el= ";
cin>>n;
 
for (int i=0; i<n; i++)
{cout<<"vvedite = "; cin>>a; cout<<"vvedite rus = "; cin>>b; root=stree(root,root,a,b); }
cout<<endl<<"derevo: "<<endl;
 inorder(root);
cin>>n;
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2013, 14:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Англо-русский словарь построен как дерево (C++):

Англо-русский словарь построен как двоичное дерево. - C++
Всем привет! Помогите пожалуйста с написанием программы:cry: Очень прошу:gcray: Англо-русский словарь построен как двоичное дерево. ...

Англо-русский словарь построен в виде двоичного дерева в программе с++ - C++
Англо-русский словарь построен в виде двоичного дерева. Каждая компонента содержит английское слово, соответствующее ему русское слово и...

Англо-русский словарь - C++
нужно написать программу &quot;англо-русский и русско-английский словарь&quot; база данных словаря должна содержать синонимичные варианты перевода...

Англо-русский словарь - C++
Прошу вас помочь написать мне программу на Borland C, программа (англо-русский словарь) Вот задание: Поиск информации с помощью...

Англо-русский словарь на С++ - C++
Помогите пожалста. Втупляю, немогу придумать ничего дельного. Разработать класс «Граф» для решения следующей задачи. Задан файл,...

Класс «англо – русский словарь» - C++
Определите класс «англо – русский словарь». Словарь состоит из различных слов английского языка, упорядоченных по алфавиту. Прописные и...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.04.2013, 14:33
Привет! Вот еще темы с ответами:

Русско-английский и англо-русский словарь - C++
Здравствуйте господа программисты! Мне нужна помощь. В курсовой работе есть задание &quot;Создать проект «Русско-английский и англо-русский...

Курсовая работа на тему англо-русский словарь - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;clocale&gt; #include &lt;stdlib.h&gt; #include &lt;locale&gt; int...

Реализовать русско-английский и англо-русский словарь - C++
Надо было реализовать словарь с русского на англ и наоборот. #include &quot;iostream&quot; #include &quot;string.h&quot; using namespace std; int...

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


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

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

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