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

двунаправленный список. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод с list в файл http://www.cyberforum.ru/cpp-beginners/thread307721.html
Задание вот такое вот: Дан исходный текстовый файл с текстом программы на языке С++. Сформировать на его основе выходной текстовый файл, поместив в него отсортированные по алфавиту имена переменных целого типа. Вот код: // string13.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h>
C++ массивы(min на второстепенной диагонали)решить! Подскажите, пожалуйста, что надо поменять чтобы все работало? и что надо ввести вместо ??? Даны целые массивы a, b. Найти минимальный элемент среди элементов, расположенный на второстепенной диагонали #include<iostream.h> #define I 5 #define J 5 void vvodmas(int,char); int poisk(int); http://www.cyberforum.ru/cpp-beginners/thread307711.html
Список C++
Дан список из n целых чисел a1,a2,...,an. Включить после каждого элемента с максимальным значением его копию(продублировать). Код: struct list { int info; list *next; }; void MakeL(list * &head, int n) { list *a,*b;
C++ C и doc, вытащить инфу
Здравствуйте, есть куча файлов с мертвого винта, очень нужно с помощью с вытащить из них дату создания/автора, и занести это в какую-нибудь таблицу. Собственно открывал в np++ doc файл и не смог найти где там хранится таблица с этими данными и в каком виде, подскажите где и как вытащить.
C++ графика http://www.cyberforum.ru/cpp-beginners/thread307673.html
Помогите сделать красивую графическую заставку на си!
C++ Библиотека. Должники ООП С++ Есть программа для библиотеки. Мне нужно реализовать поиск читателей - должников (т.е тех кто держит книгу больше месяца). Вот основные фрагменты: Основной класс прописан в хеадер файле: class Library{ public: Library(){} ~Library(){} подробнее

Показать сообщение отдельно
Stormfire
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43

двунаправленный список. - C++

29.05.2011, 22:49. Просмотров 1502. Ответов 26
Метки (Все метки)

Доброго времени суток.
Прощу помочь с заданием которое звучит так :
Построить кольцевой двунаправлений список. Значения элементов считать из файла.
Определить, есть ли в списке хотяб один элемент, который равен элементу , что идет за ним по кругу. Вывести такие элементы. Удалить из списка все элементы у которых одинаковые "соседы"(первый и последний считать соседами).

Смог реализовать сам список и загрузку из файла, но вот как сравнивать текущий и предидущим не понимаю.
Буду рад любой помощи.
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
#include "stdafx.h"
#include "string.h"
#include "stdlib.h"
#include "conio.h"
#include "iostream"
 
using namespace std;
struct Item 
{
char data[50];        
 
Item *next;      
Item *prev;     
 
};
 
Item*head,*current, *last;
char str[50];
int n1, n2;
FILE*file;
 
void add(char* val)
{
    if(head==0)
    {
    head = new Item;
    strcpy(head->data,val);
    head->next=head;
    head->prev=head;    
    last=head;
    }else
    {
    current=new Item;
    strcpy(current->data,val);
    current->prev=last; // пред элем = конец списка
    current->next=head; // след элем = начало списка (замыкание списка 1й этап)
    last->next=current; // у текущего посл элем-та след эл = тот который только что создали
    last=current; // и этот же элемент который создали будет последним т.к добавили в конец
 
    head->prev=last; // замыкание списка (2-ой этап)
    }
}
void show()
{
    current=head;
    cout << endl << "List:" << endl;
    while(current!=head->prev)
    {
    cout << current->data << " ";
    current=current->next;
    }
    cout << endl;
 
}
int main()
{
head = NULL;
last = NULL;
do{
    system("cls");
int key;
    cout<<"1. Read list from file."<<endl;
    cout<<"2. Show list."<<endl;
    cout<<"3. Show same elements"<<endl;
    cout<<"4. Delete same elements."<<endl;
    cout<<"5. Exit."<<endl;
    cout<<"\nChoose menu item: ";
    cin>>key;
        switch(key)
        {
        case 1:{file = fopen("list.txt", "r+"); while(!feof(file))
               {fscanf(file,"%c",&str); add(str);}
               fclose(file);
                cout<<"The list is created!"<<endl; 
                system("pause");break;}
        case 2:{show();system("pause");break;}
        //case 3:{compare();system("pause");break;}
        //case 4:{del();system("pause");break;;
        case 5:{exit(1);}
        default:{cout<<"Error"<<endl;break;}
        }
    }while(1);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru