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

Сортировка однонаправленного списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как исправить ошибку и в чем она заключается http://www.cyberforum.ru/cpp-beginners/thread1035953.html
Привет,помогите пожалуйста #include <iostream> #include <conio.h> #include <math.h> #include "vichiclenia.cpp" using namespace std; void main() { setlocale(0,"russian"); int a;
C++ вывод слов из файла Задача такая, нужно вывести все слова которые находятся в файле, но проблема в том что если после слова стоит запятая то он считает что это слово с запятой, одно слово. как сделать что-бы последний символ обрезался и добавлялся пробел. Так нужно что бы после слова прибавлялся пробел (условие). #include "stdafx.h" #include <fstream> #include <iostream> #include <string> using namespace... http://www.cyberforum.ru/cpp-beginners/thread1035938.html
LNK2019 C++
Заголовочный файл: namespace ns { const int QUARTERS = 4; struct sales { double Sales; double average; double max; double min;
Программа деления двух чисел C++
Программа должна проверять правильность введенных пользователем данных и, если они неверные (делитель равен нулю), выдвать сообщение об ошибке. Если введенные данные корректны, выводить частно от деления, если есть остаток. Пример: 18/5-Частное 3 и остаток 3. #include <conio.h> #include <stdio.h> #include <math.h> #include <iostream> using namespace std; int main(void) { int delimoe,...
C++ Дана квадратная матрица порядка n. Получить матрицу A^2 http://www.cyberforum.ru/cpp-beginners/thread1035883.html
Дана квадратная матрица порядка n. Получить матрицу A^2 (А в квадрате).
C++ Указатели Здравствуйте, подскажите пожалуйста какие операторы нужно использовать в С++, чтобы вывести на консоль в виде таблицы значения чисел в десятичном и шестнадцатеричном формате, а так же их адрес в оперативной памяти для типов int, long, float, double, char, bool? подробнее

Показать сообщение отдельно
Talkoflights
 Аватар для Talkoflights
25 / 25 / 5
Регистрация: 23.09.2012
Сообщений: 268
12.12.2013, 21:09  [ТС]     Сортировка однонаправленного списка
Цитата Сообщение от MrCold Посмотреть сообщение
Talkoflights, полностью задание можно узнать ?
Зачем то две структуры...
В данном случае нужно отсортировать список по полю code.

Добавлено через 3 минуты
Если конкретнее, то я хочу сортировать элементы списка, а не перебрасывать их значения друг-другу.

Добавлено через 19 секунд
Использую адреса, естественно.

Добавлено через 6 минут
Вот самый последний вариант кода:
C++ (Qt)
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
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <string>
using namespace std;
struct spis_upor{
    int code;
    int numer;
    string nme_sname;
    spis_upor *Next;
};
spis_upor *head;
spis_upor *perv;
spis_upor *tek;
spis_upor spisok;
void makespis(int n, spis_upor** head, int max)
{
      if (n > 0) 
      {
(*head)=new spis_upor();
cout<<"Vvedite nomer gruppi:"<<endl;
cin>>(*head)->code;
cout<<"Vvedite FIO:"<<endl;
cin>>(*head)->nme_sname;
(*head)->numer=0;
(*head)->Next=NULL;
if(n==max)
{
    perv=*head;
}
makespis(n-1, &(*head)->Next,max);
      }
}
void vivod(spis_upor* head, int raz)
{
    for(int i=0; i<raz; i++)
      {
        cout <<"Kod gruppi:"<<(head)->code<<endl;
        cout<<"Nomer kursa:"<<(head)->numer<<endl;;
        cout<<"FIO:"<<(head)->nme_sname<<endl;  
        head=head->Next;
    }
     //vivod((head)->Next, raz);
    //переход к следующему элементу
  }
//else cout << "Spisok pust"<<endl;
    void sort(int n, spis_upor* head, spis_upor* perv)
    {
        spis_upor *buf;
        spis_upor *buf2;
        buf=NULL;
        buf2=NULL;
        head=perv;
    for(int i=0; i<n; i++)
        {
            head=perv;
            for(int j=0; j<n; j++) //!
            {   
                if(head->code > head->Next->code)
            {
 
     buf=head->Next;
     head->Next=head->Next->Next;
     head->Next->Next=buf;
            }
                head=head->Next;
            }
    
        }
    }
 
 
void main()
{
int raz;
int max;
cout<<"Vvedite razmer spiska:"<<endl;
cin>>raz;
max=raz;
struct spis_upor{
    char code[5];
    int numer;
    string nme_sname;
    spis_upor *Next;
};
makespis(raz, &head,max);
head=perv;
vivod(head, raz);
head=perv;
sort(raz,head,perv);
head=perv;
vivod(head, raz);
system("pause");
}
Добавлено через 6 минут
Огромная просьба оказать помощь, 3-ий день бьюсь и без толку.
 
Текущее время: 18:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru