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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ чтение из файла, в котором на перенос строки отводится один символ http://www.cyberforum.ru/cpp-beginners/thread33258.html
Здравствуйте. При обработке файлов результатов неких измерений наткнулся на такую проблему: На перенос строки отводится один байт, как в *nix-системах, а не два байта, - как в маздае. пишу я как раз под маздаем. Использую ifstream для чтения из файла. Есть причины, по которым использовать С-шный доступ к файлам мне не выгодно. Вызов tellg для потока выдаёт значение (положение в файле),...
C++ Програма с .тхт файлом вот код #include <windows.h> #include <stdio.h> #include <conio.h> FILE *f; typedef struct tagINFO { http://www.cyberforum.ru/cpp-beginners/thread33219.html
Задача о совпадении дней рождения C++
Пожалуйста, кто-нибудь помагите решить задачу, очень надо для дипломной работы! Заранее всех благодарю за помощь!!!:) Задача состоит в том, что бы найти вероятность совпадения хотя бы 2-х дней рождений в группе студентов из 25 человек. Модель задачи заключается в следующем необходимо присвоить какому-нибудь счетчику 0, для дальнейшего сохранения в неё результатов опыта. Вызывать функцию для...
C++ Разбить N на более простые числа, в сумме дающие это N
Нашел я как-то в одной книге задачу. До сих пор бьюсь над ее решением. Может кто подскажет программу для ее решения (на Visual C++,либо на VBA либо на Паскале))). Вот текст задачи (на первый взгляд, ничего схожего с программированием): Парламент состоит из N делегатов. Делегаты должны разделиться на группы (фракции); кол-во депутатов в каждой группе должно отличаться от кол-ва депутатов в...
C++ С Pascal(я) на C++ http://www.cyberforum.ru/cpp-beginners/thread32847.html
в С++ сосем "профан", да и паскаль толком не знаю :) задачи частенько делаю с помощью вашего форума :) Суть. Имеются две задачи на Паскале, которые прошу Вас переделать под С++ //Определить сумму элементов массива N кратных трём Program Project; uses crt; Var
C++ Разработка программ из многофайловой структурой Очень прошу помощи в следующем задании (сам сделать не могу, а лабораторную сдавать надо. P.S: препод внимания на эту тему вообще не уделял, так что помогите кто соображает на С++): Составить проект для многофайловой структуры программы. Разработать заглавных файл содержащий глобальные данные и объявления внешних функций. Разработать вспомогательный файл содержащий определение внешних... подробнее

Показать сообщение отдельно
kracav4eg
1 / 1 / 0
Регистрация: 08.05.2009
Сообщений: 11
10.05.2009, 21:06  [ТС]     Сортировка списка распределением
ок , покажу свой код..пока не за своим компом

Добавлено через 22 часа 48 минут 48 секунд
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
#include <iostream>
using namespace std;
struct Node{
       Node* next;
       char abc[20];
       };
 
       void sort(Node*& Q,Node* Q1,Node* Q2,Node* Q3,int i)  {
                          Node *q=Q;
                          Node *q1=Q1;
                          Node *q2=Q2;   // указатели сохраняем начальные
                          Node *q3=Q3;
                                while(q!=NULL){
                                         if(q->abc[i]=='a'){
                                         for(int j=0;j<20;j++)
                                        Q1->abc[j]=q->abc[j];
                                        Q1->next=new Node;           // тут сравниваем , если буква списка Q равна а,b или c : заносим в соответвующий список
                                        Q1=Q1->next;
                                        }
 
                                        else
 
                                        if(q->abc[i]=='b'){
                                        for(int l=0;l<20;l++)
                                        Q2->abc[l]=q->abc[l];
                                        Q2->next=new Node;
                                        Q2=Q2->next;
                                        }
 
                                        else
 
                                        if(q->abc[i]=='c'){
                                        for(int m=0;m<20;m++)
                                        Q3->abc[m]=q->abc[m];
                                        Q3->next=new Node;
                                        Q3=Q3->next;
                                        }
 
                       q=q->next;
                       }
                       Q3->next=NULL;
 
                       Q->next=q1;
                       Q1->next=q2;        // тут мы  меняем указатели.. и делаем список упорядоченный для i буквы
                       Q2->next=q3;
 
 
                       }
int main()
{
 
    Node * Q  = new Node;
    Node * Q1 = new Node;           //создаем начальные списки
    Node * Q2 = new Node;
    Node * Q3 = new Node;
    Node* top = Q;
      int n;
     cin>>n;
     cout<<endl;
     for(int k=0;k<n;k++){
    cin>>top->abc;                 // тут вводим слова в список Q
    top->next=new Node;
    top=top->next;}
 
    top->next=NULL;
 
    for(int s=19;s>=0;s--)
    sort(Q,Q1,Q2,Q3,s);   //вызываем функцию
 
    while(Q!=NULL)     {
    cout<<Q->abc<<'\n';   // выводим упорядоченный список
    Q=Q->next;
                       }
 
 
return 0;
}
Добавлено через 4 минуты 11 секунд
у меня после ввода слов, вылетает windows ошибка
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru