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

Проверка существования структуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить сумму ряда http://www.cyberforum.ru/cpp-beginners/thread409992.html
.Вычислить сумму ряда \sum_{k=o }^{\propto }\left(-1{k}^{} \right)\frac{x{}^{2k}}{(2k)!} с точностью до 10 в -5 степени.Построить таблицу для х=0;0.1;0.2....0.9;1;0.Проверить значения по функции cos(х)
C++ Поразрядная сортировка Доброе время суток, написал программу поразрядной сортировки по определенному критерию должно сортировать, проблем в логике вроде бы не должно быть, но вот проблема в функции yy в том что не хватает выделения памяти для mask. даже при присвоение типа unsigned long long выходит за предел . Подскажите в чем причина и как с ней бороться #include <iostream> #include <algorithm> #include <vector>... http://www.cyberforum.ru/cpp-beginners/thread409979.html
C++ сумма диагоналей???
Вот в чем вопрос! Вроде все правильно, но сумму неправильно вычисляет, а именно нужно: Найти максимальную, из всех сумм диагоналей, параллельных главной! #include <iostream> #include <iomanip> #include <cmath> using namespace std; // Прототип для ввода двумерного массива int** inputm (int n); // Прототип для вывода двумерного массива void outputm (int** a, int n);
C++ Разработать алгоритм обработки двумерного массива
Разработать алгоритм обработки двумерного массива размера n*m. Числа m и n, а также элементы массива взять из файла. Необходимо каждый элемент массива увеличить на сумму элементов его строки. результат записать в другой файл. пожалуйста помогите очень нужно!!
C++ Абстрактны классы http://www.cyberforum.ru/cpp-beginners/thread409940.html
Здравствуйте, форумчане! у меня вот такая вот задача! Разработать класс список как абстрактный базовый класс с интерфейсом - сохранить и восстановить. Создать производные классы стек и очередь с реализованными интерфейсами восстановить и вытащить. обычные абстрактные классы у меня получается создавать! на пример на задачу : Разработать абстрактный класс - форма с интерфейсом площадь,...
C++ Упорядочить строки матрицы в порядке неубывания их первых элементов Всем привет! Помогите пожалуйста решить задачу, хз как делать :) Дана матpица A. Упорядочить строки матрицы в порядке не убывания их первых элементов. Всё чnо я смог, это вывести исходную матрицу на экран, и все :DDD Заранее спасибо ! // задача // #include "stdafx.h" #include <stdlib.h> #include <stdio.h> подробнее

Показать сообщение отдельно
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
18.12.2011, 00:21     Проверка существования структуры
Цитата Сообщение от awpe Посмотреть сообщение
Подскажите пожалуйста, я не так задачу понял или что то упускаю?
упускаете. Значит мыслим так.
Цитата Сообщение от awpe Посмотреть сообщение
на картинке есть узел 021 допустим он получился когда я первый раз вызвал функцию setDecoration, корень был пуст, были созданы узлы 0,02,021
это неверное. Когда вы вызываете функцию вставки, то, добавляете по одной ветке. и только в том случае когда указатель == NULL. Для этого вам нужно зделать обход дерева. т.е. двигаться по нужным потомкам пока указатель на потомка != NULL. Вот небольшой пример
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
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
typedef struct tree
{
    int x;
    struct tree *left;
    struct tree *right;
} tree_t;
 
void add( tree_t **current, int value, char *path )
{
    tree_t *t = ( tree_t* ) malloc ( sizeof ( tree_t ) );
    t->x = value;
    t->left = NULL;
    t->right = NULL;
 
    if ( !( *current ) ) // если создаем корень, т.е. если дерево пусто
    {
        *current = t;
    }
    else{
        //обход дерева
        while ( *path )
        {
            if ( *path - '0' )
                *current = *current->left;
            else
                *current = *current->right;
            ++path;
        }
        *current = t;
    }
}
 
int main(void)
{
    tree_t *root = NULL;
    add(&root, 5, "");
    printf("%i %i %i", root->x, root->right, root->left );
    free( root );
    exit(0);
}
Добавлено через 6 минут
вот косой пример двоичного дерева. функция вставки

Добавлено через 11 минут
обход дерева надо переделать, так же кинуть исключение. Думаю что суть вы уловили.
 
Текущее время: 14:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru