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

Сохранение и чтение бин. дерева - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчет повторенияя букв http://www.cyberforum.ru/cpp-beginners/thread273901.html
Здраствуйте! Помогите написать програмку для считивания текста из файла и подсчитивания количества повторений каждой буквы в нем.
C++ Теоретический вопрос. ( метод класса) Допускается ли при описании класса и его методов, ситуация когда один метод вызывает другой метод этого же класса? Или же только в main() можно вызывать методы после создания объектов? Вот такой... http://www.cyberforum.ru/cpp-beginners/thread273899.html
Найти факториал C++
Хотел написать программу для нахождения n!.Где мы вводим n. Возникла трудность с повторением умножения на (n-1)-1)пока не будет 1. Как это реализовать.Вот код программы.Пытался через оператор...
C++ Метод северо-западного угла
надо реализовать данный метод. http://www.reshmat.ru/example_transport_4.html Вот ссылка на пример по которому делал код #include <iostream> bool check(int *ar) { int sum=0; for(int...
C++ Скласты программу, которая строит на екране график функции двигающей стрелкой с рисунка. http://www.cyberforum.ru/cpp-beginners/thread273873.html
Кривая графика появляется с кончика стрелки; скорость движения 1...2,5 см/сек; стрелка - полупрозрачная; движение стрелки сопровождается звуком переменной тональности.
C++ Может ли виртуальное наследование быть одиночным? виртуальное наследование это множественное наследование, при котором нескольким классам, имеющим один базовый всегда сопоставляется один объект этого базового класса. Может ли виртуальное... подробнее

Показать сообщение отдельно
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
11.04.2011, 17:05  [ТС]
перенес рекурсию, но теперь компилятор ругается непонятными выражениями
C++
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <fstream>
using namespace std;
#include <conio.h>
 
struct node // Структура узла
{
  int info;      // Информационное поле
  int c;         // Счетчик
  node *l,*r; // Левый и правый указатели
};
 
// -------Функция построения дерева---------
 
 
node *tree(node *p, int w)
{
  if (p == NULL)
  {
    p = new node;
    p->info = w;
    p->l=NULL;
    p->r=NULL;
    p->c=1;
  }
  else if (w==p->info) // Если такая информация встречалась,
  {
    p->c+=1; // то счетчик количества увеличивается на 1
  }
  else if (w<p->info) // eсли меньше, то идем по левому указателю
  {
    p->l=tree(p->l,w);
  }
  else
  {
    p->r=tree(p->r,w); // иначе по правому
  }
 
  return p; 
}
 
//--------- Функция обхода дерева -------------
 
void treeprint(node *p)
{
  if (p != NULL)
  {
    treeprint(p->l); // по левому указателю
    cout<<p->c<<" "<<p->info<<endl;
    treeprint(p->r); // по правому указателю
  }
}
void PrintTree(node* p,int l)
{
           if(p!=NULL)
           {
                PrintTree(p->l,l+1);
                for(int i=0;i<l;i++){cout<<"__";}
                cout<<p->info<<"("<<p->c<<")\n";
                PrintTree(p->r,l+1);
           }
        }
int save(node* p,ofstream ofs)
{
    do
        {
        save(p->l,ofs);
        ofs<<p->info<<endl<<p->c<<endl;
        save(p->r,ofs);
        }while(p);
    return 0;
}
 
void main()
{
  node *root; // Рабочий указатель на корень дерева
  int w,l=0;
  root=NULL; //Дерево пустое
  scanf("%d", &w);
 
  while (w!=0)
  {
    root=tree(root, w);
    scanf("%d", &w);
  }
 
  PrintTree(root,l);
  system("pause");
 
 
 
  char fname [80];
    if (root==0) {cout<<"Пусто";Sleep(500);return;}
    cout<<"Введите имя (путь) к файлу: \n";
    cin>>fname;
    ofstream ofs(fname);
 
 
 
 
  save(root, ofs);
}
 
 
 Сообщение диагностики возникло в созданной компилятором функции "std::basic_ofstream<_Elem,_Traits>::basic_ofstream(const std::basic_ofstream<_Elem,_Traits> &)"
1>          with
1>          [
1>              _Elem=char,
1>              _Traits=std::char_traits<char>
1>          ]
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru