Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Не работает русский язык https://www.cyberforum.ru/ cpp-beginners/ thread1194271.html
Если выбрать в свитче 2 или 4 варианты (ввод вручную) и рассчитать их, то когда будет рассчитывать выдаст что-то типа этого: 1) , …¤г Ї® ¤®а®ЈҐ, ЌЁЄг¤* *Ґ ᬮвао 2) , …¤г Ї® ¤®а®ЈҐ, ЌЁзҐЈ® *Ґ е®зг 3) , …¤г Ї® ¤®а®ЈҐ, Џпвм* лў*лў лўЇ* Код: #include <iostream> #include <conio.h> #include <cstring> #include <string> #include <fstream>
C++ Число с плавающей запятой в строках
Задание - из строки выделить подстроку, задающую число с плавающей точкой.
C++ Книги C++ http://www.ozon.ru/context/detail/id/5531965/ http://www.ozon.ru/context/detail/id/7979735/ Если кто-то знает, то скажите какая из этих лучше подойдет для обучения ? Или предложите свой вариант. Буду благодарен https://www.cyberforum.ru/ cpp-beginners/ thread1194254.html C++ Написать шалонный класс «Квадратная матрица» Класс «Квадратная матрица». Методы: вычисление суммы отрицательных элементов каждого столбца и запись его в массив, возведение матрицы в квадрат, вычисление следа матрицы, сравнение матриц на равенство, вывод элементов матрицы на дисплей. https://www.cyberforum.ru/ cpp-beginners/ thread1194246.html
Не компилируется C++
Не могу понять в чем ошибка, помогите разобраться #include <stdio.h> #include <stdlib.h> void zapolnit() { FILE* f = fopen("file.dat", "wb"); printf("Kolichestvo zifr: ");
C++ Как удалить строку в ТХТ файле? Если не секрет, как удалить строку в ТХТ файле через С++? к примеру я напишу 4ре слова и надо будет удалить например первое как это сделать? https://www.cyberforum.ru/ cpp-beginners/ thread1194234.html
C++ Очередь. Программа удаляет четные числа, нужно удалять нечетные https://www.cyberforum.ru/ cpp-beginners/ thread1194219.html
Программа удаляет все парные числа, как сделать чтобы удаляла все непарные? Вот код #include <iostream> using namespace std; struct List { int x; List *Next; }*Head, *Tail; void Add(int x, List **MyList)
C++ Деление двоичных чисел в строковом виде
Добрый день! Никак не могу додумать реализацию деления двоичных чисел (целых и дробных), представленных в строковом виде (std::basic_string). Помогите, люди добрые =) Если нужно будет сравнить два двоичных числа, то: if ((bin) A < (bin) B) { //(реализованы и >, ==, !=, <<, >>) } Пример: string bDiv(string strSourceNum, string strDivNum) { int iSrcLen = strSourceNum.length(); ...
C++ Could not find a match for. Как исправить? https://www.cyberforum.ru/ cpp-beginners/ thread1194193.html
Полная ошибка, которую выбивает компилятор, выглядит так 111.cpp(159,3 ): Could not find a match for 'massiv::operator=(massiv)' а вот и код моей замученной программы #include<iostream.h> #include<math.h> #include<conio.h> #include<stdlib.h> #include<stdio.h> #include<alloc.h>
C++ Алгоритм перевода шестнадцатеричного числа в десятичный код помогите написать программу "алгоритм перевода шестнадцатиличного числа в десятичный код" https://www.cyberforum.ru/ cpp-beginners/ thread1194182.html
C++ Найти наибольший элемент среди нечетных столбцов матрицы, последний отрицательный элемент заменить нулем
В заданной целочисленной прямоугольной матрице 1) Найти набольший элемент среди нечетных столбцов этой матрицы; 2) Последний отрицательный элемент каждого столбца матрицы заменить нулём
C++ Вычислить сумму выражения https://www.cyberforum.ru/ cpp-beginners/ thread1194171.html
Доброго всем времени суток) помогите пожалуйста подправте или подкорректируйте код суть задачки в следуйщем (впринципе не сложная но чет не могу ее довести до ума) кароч необходимо вычислить сумму "значок суммы"затем само выражение (1+3m)*n. Сумму вычислить до того пока она будет меньше или равно определенного пользователем числа k. Числа m и k задает пользователь. и вот дальше мой код int...
2 / 2 / 0
Регистрация: 21.12.2013
Сообщений: 23
0

Девевья. Поиск с включением - C++ - Ответ 6252210

31.05.2014, 03:01. Показов 737. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Программа формирует дерево из массива целых чисел и выводит его на экран.
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iostream>
struct Node{
    int d;
    Node *left;
    Node *right;
};
Node *first(int d);
Node *search_insert(Node *root, int d);
void print_tree(Node * root, int l);
//-------------------------------------
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    int b[] = {10,25,20,6,21,8,1,30};
    Node *root = first(b[0]);
    for (int i = 1; i < 8; i++)search_insert(root, b[i]);
    print_tree(root, 0);
    getchar();
    return 0;
}
//---------------------------------------
// формируем первый элемент дерева
Node *first(int d){
    Node *pv = new Node;
    pv->d = d;
    pv->left = 0;
    pv->right = 0;
    return pv;
}
//---------------------------------------
// поиск с включением
 Node *search_insert(Node *root, int d){
    Node *pv = root, *prev;
    bool found = false;
    while (pv && !found){
        prev = pv;
        if      (d ==pv->d) found = true;
        else if (d < pv->d) pv    = pv->left;
        else                pv    = pv->right;
    }
    if (found) return pv;
    // создание нового узла
    Node *pnew = new Node;
    pnew->d     = d;
    pnew->left  = 0;
    pnew->right = 0;
 
    if (d < prev->d)
        // присоединение к левому поддереву предка
        prev->left = pnew;
    else
        // присоединение к правому поддереву предка
        prev->right = pnew;
    return pnew;
}
//--------------------------------------------------
// обход дерева
void print_tree(Node *p, int level){
    if (p){
        print_tree(p->left, level + 1);
        for (int i = 0; i<level; i++)cout<<"    ";
        cout<< p->d <<endl;
        print_tree(p->right, level + 1);
    }
}


Проблема вот в чем :

if (d < prev->d)
// присоединение к левому поддереву предка
prev->left = pnew;
else
// присоединение к правому поддереву предка
prev->right = pnew;
return pnew;

Тут выдает ошибку: error C4703: используется потенциально неинициализированная локальная переменная-указатель "prev"! Прошу помочь устранить ошибку.

Добавлено через 7 минут
Все, решил проблему: Node *pv = root, *prev; переписал как:
Node *pv = root, *prev=NULL;

Вернуться к обсуждению:
Девевья. Поиск с включением C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.05.2014, 03:01
Готовые ответы и решения:

1)Бинарный поиск 2)Сортировка включением 3)Шейкерная сортировка 4)Сортировка разделением
1)В заданном массиве К(N) найти индексы элементов, которые кратны минимальному значению элемента...

Сортировка включением.
Сортировка включением. Заданный одномерный массив отсортировать по возрастанию цифры десятков...

Проблема с включением
Компьютер стартует, через 2 - 3 секунды вырубается и снова стартует. Но ничего не работает. На...

Сортировка включением
Задан массив AX (N). Добавить массив С(К). Выполнить сортировку включением. В полученном векторе...

0
31.05.2014, 03:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.05.2014, 03:01
Помогаю со студенческими работами здесь

Сортировка включением
Задан массив X (N). Добавить массив С(М). Выполнить сортировку включением. В полученном массиве...

Сортировка Включением
Задан массив AX (N). Добавить массив С(К). Выполнить сортировку включением. В полученном векторе...

Сортировка включением
блин не сильно розбираюсь на С++ нужна помощь

Сортировка включением
Задан массив A(N). Добавить массив С(К). Выполнить сортировку включением. В полученном массиве...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru