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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Из множества точек выбрать http://www.cyberforum.ru/cpp-beginners/thread293112.html
Из заданного множества точек на плоскости выбрать три разные точки A, B, C, так, чтобы внутри треугольника ABC содержалось максимальное количество точек этого множества. Помогите решить задачу на си,...
C++ Программы на массивы С++ 1. Дан массив размера N. Найти количество участков, на которых его элементы монотонно убывают. 2. Дан целочисленный массив размера N. Если он является перестанов- кой, то есть содержит все... 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
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();
}
1
Вложения
Тип файла: txt person.txt (58 байт, 19 просмотров)
Тип файла: txt text.txt (103 байт, 17 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.