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

Однонаправленный список не могу переделать!!! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция сортировки матрицы http://www.cyberforum.ru/cpp-beginners/thread228688.html
Функция сортировки матрицы по убыванию элементов 1 строки
C++ Перевод восьмеричного числа в другие системы счисления Программа для перевода восьмеричного числа в 10, 16 и 2 система счисления http://www.cyberforum.ru/cpp-beginners/thread228687.html
C++ Определить, является ли данный четырехугольник параллелограммом.
"Даны координаты вершин четырехугольника. Определить, является ли данный четырехугольник параллелограммом."
C++ Внешний файл
Нужно, чтобы: 1 программа:Брала числа из внешнего файла 2 программа:Брала матрицу из внешнего файла setlocale(LC_CTYPE,"Russian"); int size; int* m; cout<<"Введите количество чиел:"; cin>>size; m=new int ;
C++ Запись данных в текстовый файл http://www.cyberforum.ru/cpp-beginners/thread228673.html
Здравствуйте , помогите пожалуйста , есть программа которая считает по формулам величину h (компилировал в Visual C++ 2008): #include "stdafx.h" #include <stdio.h> #include "cmath" int main() { double q,q0=37000000000,e=2.71828182845,r0=0.00002; double A=0.5,t=0.00000001,p=7190,c=425,h0=0.00000006, Tn=293,Tm,b=30400000;
C++ Движение вниз, верх (не очень гениальный вопрос) Всем доброго доброго времени суток. Вот я решил поэкспериментировать над движением точки. Извините грубо говоря за тупой вопрос. Разобрался как продвигать налево и направо, стирая предыдущую точку. for (;;point.X++) // направо { SetConsoleCursorPosition(console, point); cout << " *"; подробнее

Показать сообщение отдельно
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
14.01.2011, 12:34     Однонаправленный список не могу переделать!!!
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
#include <iostream>
#include <windows.h>
using namespace std;
 
char NEWT[256];
 
char*RUS (char*TEXT) {
    CharToOem(TEXT, NEWT);
    return NEWT;
}
 
struct Node{
    string name;
    string grup;
    Node *next;  // указатель на следующий элемент списка
    Node():next(0){}
};
struct list{
    Node *pHead;
    int count;       // количество элементов в списке
    void add(string, string);
    void print();
    Node* find(int);
    list():count(0), pHead(0){}
};
 
int main(){
    int c;
    string n, g;
    list l;
    cout<<RUS("Пустой список создан...")<<endl;
    cout <<RUS("Ввести количество элементов: ")<< endl;
    cin>>c;
    cout <<RUS("Ввести элементы списка: ")<< endl;
    for(int i = 0; i < c; i++){
        cout<<RUS("введите имя\n");
        cin>>n;
        cout<<RUS("введите группу\n");
        cin>>g;
        l.add(n, g);
    }
    l.print();
    Node *t=l.find(c-2);
    cout<<"\n"<<t->name;
}
 
void list::add(string name, string grup){
    Node *temp = new Node;
    temp->name = name;
    temp->grup = grup;
    if  (pHead == 0){
        pHead=temp;
        ++count;
    }
    else{
        Node *temp1=pHead;
        while(temp1->next!=0)
            temp1=temp1->next;
        temp1->next=temp;
        ++count;
    }
}
 
void list::print(){
    Node *pPV = pHead;
    if (pPV==0) cout<<RUS("Список пуст!")<<endl;
    while(pPV != 0){
        cout << pPV->name<<" "<<pPV->grup<<"\n";
        pPV = pPV->next;
     }
    cout<<"\n";
}
 
Node* list::find(int index){
        if (index<0||index>count-1) return NULL;
        Node*temp=pHead;
        for (int i=0;i<index;i++)
            temp=temp->next;
        return temp;
}
 
Текущее время: 11:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru