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

Двухсвязные списки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Из множества точек выбрать http://www.cyberforum.ru/cpp-beginners/thread293112.html
Из заданного множества точек на плоскости выбрать три разные точки A, B, C, так, чтобы внутри треугольника ABC содержалось максимальное количество точек этого множества. Помогите решить задачу на си, пожалуйста.
C++ Программы на массивы С++ 1. Дан массив размера N. Найти количество участков, на которых его элементы монотонно убывают. 2. Дан целочисленный массив размера N. Если он является перестанов- кой, то есть содержит все числа от 1 до N, то вывести 0; в противном слу- чае вывести номер первого недопустимого элемента. Добавлено через 1 час 29 минут Буду очень благодарен если поможете! http://www.cyberforum.ru/cpp-beginners/thread293100.html
C++ C++ функции перестановка сумм положительных элементов столбцов
привет. помогите пожалуйста тут написан код задания "ДАНА МАТРИЦА,НАПИСАТЬ КОД ПРОГРАММЫ КОТОРЫЙ ПОСЧИТАЕТ СУММУ ПОЛОЖИТЕЛЬНЫХ ЭЛЕМЕНТОВ В КАЖДОЙ СТРОКЕ И ОФОРМИТ ПЕРЕСТАНОВКУ СТРОК ПО ВОЗРАСТАНИЮ СУММ" Мне необходимо переделать всё, только для СТОЛБЦОВ.то есть написать код проги который посчитает сумму всех положительных элементов в каждом столбце и оформит перестановку столбцов по возрастанию...
небольшой вопрос по структурам C++
Плиз, подскажите как присвоить значение переменной(index) элементу массива структуры(avto.chet). Вроде бы ерунда, а не получается.
C++ Масиви в с++ http://www.cyberforum.ru/cpp-beginners/thread293074.html
как можно именно проще обнулить масив
C++ Одномерный массив Помогите пожалуйста с прогой. Задание: Дан одномерный массив длиной N. Массив заполняется датчиком случайных чисел (лучше использовать любое распределение, кроме нормального). Проблема в том, что мне непонятно, что это за датчик случайных чисел и как он будет влиять на код программы? подробнее

Показать сообщение отдельно
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
12.05.2011, 10:29     Двухсвязные списки
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <iostream>
#include <fstream>
 
using namespace std;
 
/*структура узла*/
struct node 
{
  char name[15]; // Информационное поле
  node *rlink, *llink; // Поля для связи с другими полями
};
 
void main()
{
setlocale  (LC_CTYPE,"rus");
node *k,*q,*l,*r; 
int i=0,round=1,words,persons=0;
char f_name[15],word[20],string[80];
 
//ввод из файла
cout<<"Введите имя файла с участниками считалки"<<endl;
cin>>f_name;
ifstream person(f_name);
if(!person) {
            cerr<<"Файл не найден"<<endl;//сообщение если файл ненайден 
            system ("pause");
            return;
            }
 
/*формируем первый узел*/
k = new node;
person>>k->name;
k->rlink = NULL;
k->llink = NULL;
q= r = k;
persons++;
/*формируем остальные узлы*/
while(!person.eof())
{
    k = new node;
    k->rlink = q;
    q->llink = k;
    q = k;
    person>>k->name;    
    persons++;
}
/*после формирования*/
q->llink = NULL;
l = q;
 
person.close();
 
cout<<"Введите имя файла с самой считалочкой"<<endl;
cin>>f_name;
ifstream in (f_name);
if(!in) {   cerr<<"Файл не найден"<<endl;//сообщение если файл ненайден 
            system ("pause");
            return;
        }
 
while(!in.eof()){i++;in>>word;}
words=i;
cout<<"слов в считалке "<<words<<endl;
 
 
/*выводим имена слева направо и справо налево*/
k = r;
cout<<"имена (по порядку)"<<endl<<"-------------------"<<endl;
while (k != NULL)   
{
    cout<<k->name<<endl;
    k=k->llink;
}
k = l;
cout<<"имена (реверс)"<<endl<<"-------------------"<<endl;
while (k != NULL)   
{
    cout<<k->name<<endl;
    k=k->rlink;
}
 
/*делаем список циклическим*/
r->rlink=l;
l->llink=r;
system ("pause");
/*формируем отчет*/
ofstream out ("log.txt");
out<<"считалочка: "<<endl;
in.seekg(0);//указатель в начало потока 
while(in.getline(string,sizeof(string)))out<<string<<endl;
out<<"###############################"<<endl;
out<<"слов в считалочке найдено "<<i<<endl;
out<<"###############################"<<endl;
 
node *tmp=l;
 
while (persons!=1)
{
    out<<"раунд №"<<round<<endl<<"игроки: "<<endl;
    k=tmp;
    i=persons;
    while(i--)
    {
        out<<k->name;
        k=k->llink;
        if (i)out<<",";
        else {out<<"."<<endl; break;}
    }
    i=words;
    k=tmp;
    while (i--)
    {
        k=k->rlink;
        cout<<k->name<<endl;
    }
    tmp=k->rlink;
    out<<"В этом раунде победил(а) "<<k->name<<endl;
    k->rlink->llink=k->llink;
    k->llink->rlink=k->rlink;
    delete k;
out<<"###############################"<<endl;
round++;
persons--;
}
out<<"остался "<<tmp->name;
out.close();
}
Вложения
Тип файла: txt person.txt (58 байт, 19 просмотров)
Тип файла: txt text.txt (103 байт, 17 просмотров)
 
Текущее время: 17:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru