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

Разработать программу для работы с двунаправленным связными списками. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Значение по-умолчанию для ссылки http://www.cyberforum.ru/cpp-beginners/thread545587.html
Здравствуйте, есть такой код: void iterateTheElements(someClass &parent = someClass ()); Под MVSC все нормально работает, MinGW же на это ругается: C:\Users\ruzik\Documents\my_projects\RizekFaster\Widgets\RDataTreeView\RDataTreeView.h:19: ошибка: default argument for parameter of type 'QModelIndex&' has type 'QModelIndex' Как можно без "садо-мазо"(типа постоянного хранения пустой переменной)...
C++ Файл: Записать в файл g целые числа b1..bn по следющим условиям: b[i] = i и b[i] = 2^i +3^(i+1) Дано натуральное n. Записать в файл g целые числа b1..bn, определенные так , как в этих пунктах: а) i ; б) д) 2^i +3^(i+1) Решите на C++ пожалуйста! . http://www.cyberforum.ru/cpp-beginners/thread545581.html
C++ В массиве вычислить среднее арифметическое и вычесть его из каждого элемента массива.
Файлы. Работа с одномерными массивами Постановка задачи 1 Прочитать из файла два одномерных массива разной длины. Для каждого из них в отдельности вычислить среднее арифметическое, вычесть его из каждого элемента массива. Элементы 1-го массива: 1,2,3,4,5. Элементы 2-го массива: 6,7,8,9,10,11,12.
C++ Установить цветной текстовый режим с 40 символами по горизонтали. Создать окно 7х7 символов в левом верхнем углу экрана.
Решить нужно в Турбо-среде Borland C++ Текстовый режим Постановка задачи 1 Установить цветной текстовый режим с 40 символами по горизонтали. Создать окно 7х7 символов в левом верхнем углу экрана. Написать на красном фоне желтым цветом ( без кавычек). Переместить окно в центр экрана, занести его в память, а затем воспроизвести по незаполненным трем углам экрана.
C++ Проблемы с распараллеливанием(omp) простой программы http://www.cyberforum.ru/cpp-beginners/thread545553.html
Нужно реализовать и распараллелить простенький алгоритм: Найти минимальное число, большее заданного N, которое делится нацело на все заданные числа n1, n2, ... nk. #include <iostream> #include <ctime> #include <omp.h> #include <vector> #include <list> using namespace std; void main(){
C++ Упаковка и распаковка даты. Добрый день. Помогите найти ошибку. А она заключается в том, что число в битовом представлении в сдвиге, получаеться совсем другое, нежели в битовых полях. Также это влечёт за собой не правильную распаковку даты. Заранее спасибо!:good: Код рабочий, можно вставить и проверить у себя. #include <iostream> #include <iomanip> #include <conio.h> using namespace std; void DisplayBits(... подробнее

Показать сообщение отдельно
UFO94
264 / 253 / 13
Регистрация: 04.04.2012
Сообщений: 546
20.05.2012, 20:12
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
struct Tree
{
    char c;
    Tree* Parent;
    int ChNumber;
    Tree* *Children;
};
 
Tree Copy(Tree a)
{
Tree b;
b.c=a.c;
b.Parent=a.Parent;
b.ChNumber=0;
b.Children=NULL;
return b;
}
 
Tree* AddRoot(char ch)//Добавление корня (начало нового дерева)
{
Tree t;
t.c=ch;
Parent=NULL;
ChNumber=0;
Children=NULL;
return *t;
}
Tree* AddChildren(Tree par,char ch)//Добавление ветки к родителю
{
Tree t;
t.c=ch;
t.Parent=par*;
t.ChNumber=0;
t.Children=NULL;
if(par.ChNumber==0)
{
par.ChNumber=1;
par.Children=new Tree[1];
par.Children[0]=t*;
}
else
{
Tree* tmp=new Tree[par.ChNumber];
for(int i=0; i<par.Ch.Number; i++)
tmp[i]=par.Children[i];
delete par.Children;
par.Children=new Tree[par.ChNumber+1];
for(int i=0; i<par.Ch.Number; i++)
par.Children[i]=tmp[i];
delete tmp;
par.Children[ChNumber]=t*;
ChNumber++;
}
}
Для определения самой длинной ветки:
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
int longest(Tree Root, Tree &Lng)
{
if(Root.ChNumber==0)
{
Lng=Root;
return 1;
}
else if(Root.ChNumber==1)
{
return 1+longest(*Root.Children[0],Lng);
}
else
{
Tree Lng1;
int nmax=0;
for(int i=0; i<Root.ChNumber; i++)
{
int n1=longest(&Root.Children[i],Lng1);
if(n1>nmax)
{
nmax=n1;
Lng=Copy(Lng1);
}
}
return nmax+1;
}
}
Что-то такое. Компильте, говорите, какие ошибки, будем разбираться.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru