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

программа сортировки методом пузырька - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ программку не для новичков http://www.cyberforum.ru/cpp-beginners/thread40526.html
Обучаюсь на первом курсе. Пытался решить но безуспешно. :wall:Мне бы образец решения. Заранее благодарю!
C++ ошибки которых на самом деле нет possible use of идентификатор before diffinotion(С++) у меня в компиляторе возникает такое предупреждение, хотя все переменные объявлены ВО ВРЕМЯ. это происходит на компиляторе Borland 3.01 на borland 3.11 все идет нормально. хотелось бы узнать почему....код выложить на вряд ли смогу, он на 2500 строк. http://www.cyberforum.ru/cpp-beginners/thread40508.html
Сортировка массива. C++
Имеется одномерный массив длиной n. Упорядочить массив методом выбора таким образом, чтобы элементы, находящиеся на четных позициях располагались по убыванию, а на нечетных позициях – по возрастанию. Я так думаю, что надо сначала отсортировать методом выбора, а затем показать четные и нечетные индексы. Как это сделать? const int n = 10; int a = {9, 6, 1, 16, 11, 14, 3, 19, 7, 4}; ...
C++ Как открыть два файла для записи?
Здравствуйте, есть следующий код #include <iostream> #include <fstream> using namespace std; int main() { int accountNum; // номер счета char name; // имя клиента
C++ Общий вопрос по кодировке программ под Windows http://www.cyberforum.ru/cpp-beginners/thread40494.html
Помогаю с переводом одной англоязычной программы (она на C++, но не уверен имеет ли это значение) на русский. От разработчика этой программы приходит письмо примерно след. содержания: "Объекты, создаваемые нашей программой требуют использовать ISO-8859-5 (Кириллица), а в русских Виндах используется 1251. Мы можем конвертировать программу в 1251, но тогда получится, что все объекты созданные...
C++ Ошибка компиляций mmsystem.h (на с++) Я пытался компилить этот код, но к сожелению он не скомпилился #include <iostream> #include <cstdio> #include <mmsystem.h> using namespace std; int main(){ freopen("input","r",stdin); freopen("output","w",stdout); подробнее

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

программа сортировки методом пузырька - C++

16.06.2009, 14:42. Просмотров 2724. Ответов 7
Метки (Все метки)

Доброго времени суток!
Прошу помощи в написании программы с требованиями:
•Входные данные – текстовый файл.
•Выходные данные – текстовый файл, содержащий в качестве строк отсортированные слова входного файла.
•Предусмотрен выбор вариантов сортировки (по убыванию/ по возрастанию).

Кое-что кое-как сделал, при компиляции выдает кучу ошибок, как исправить их не пойму.
Компилятор Visual с++ 2008.
Вот код:
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
// bubble.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
//#include <sdtio.h>
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
 
# define SWAP(A,B) {A=A^B;B=A^B;A=A^B;}
const int SIZE=250;
//const C:\in_file
using namespace std;
 
//++++++++описание функций++++++++++++++++++++++++++++++++
//--------------сортировка по возрастанию стандартная-------------
void sort_max(char mass[], int n)
{
    int i, j;
 
    for(i=n-1; i>0; i--)
    {
        for(j=0; j<i; j++)
        {
            if( mass[j] > mass[j+1] ) SWAP(mass[j],mass[j+1]);
        }
    }
}
 
//------------------сортировка по возрастанию с порпуском сортированных элементов-----
 
void sort_max_mod(char mass[], int n)
{
    int i, j;
 
    for(i=n-1; i>0; i--)
    {
        bool sorted = true;
        for(j=0; j<i; j++)
        {
            if(mass[j] > mass[j+1]) SWAP(mass[j],mass[j+1]);
            sorted = false;
        }
        if (sorted) break;
    }
}
 
//--------------сортировка по убыванию стандартная-------------
void sort_min(char mass[], int n)
{
    int i, j;
 
    for(i=n-1; i>0; i--)
    {
        for(j=0; j<i; j++)
        {
            if(mass[j] < mass[j+1]) SWAP(mass[j],mass[j+1]);
        }
    }
}
 
//------------------сортировка по убыванию с порпуском сортированных элементов-----
 
void sort_min_mod(char mass[], int n)
{
    int i, j;
 
    for(i=n-1; i>0; i--)
    {
        bool sorted = true;
        for(j=0; j<i; j++)
        {
            if(mass[j] < mass[j+1]) SWAP(mass[j],mass[j+1]);
            sorted = false;
        }
        if (sorted) break;
    }
}
 
//------------------меню выбора-------------------------------------------------
void showmenu()
{
    cout<<"Vvedite '1', '2', '3', '4' ili '5':\n"
    cout<<"1 >> Sortirovka po vozrastaniju (standartnaja)\n"
    cout<<"2 >> Sortirovka po vozrastaniju (s propuskom otsortirovannyh elementov)\n"
    cout<<"3 >> Sortirovka po ubyvaniju (standartnaja)\n"
    cout<<"4 >> Sortirovka po ubyvaniju (s propuskom otsortirovannyh elementov)\n"
    cout<<"5 >> Vyhod\n"
}
 
//---------------ввод массива------------------------
int in_mass(int i)
{
    //char filename[SIZE];
    ifstream inf;
    inf.open ("C:\in_file");
    if (!inf.is_open())
    {
        cout<<"ne udalos otkryt file 'C:\in_file'"<<endl;
        cout<<"programma prervana.\n";
        exit (EXIT_FAILURE);
    }
    char mass;
    //int sume=0;
    int count=0; //количество почитанных элементов
    inf>>value; //полуить первое значение
    while (inf.good())
    {
        ++count;
        for(*mass[]; i=0; i<SIZE;; i++)
        {
            inf>>*mass[];
        }
    }
 
    if (inf.eof())
        cout<<"file uspeshno prochhitan.\n";
    else if (inf.fail())
        cout<<"Owibka htenija dannyh.\n";
    else cout<<"Vvod prekrawen po neizvestnoy prichine.\n";
 
    if (count==0) cout<<"Nikakie dannye ne sobrany.\n";
    else cout<<"Prochitano "<<count<<" elementov.\n";
 
    inf.close;
 
    cout<<"Ishodniy massiv:\n";
    for(*mass[i]; i=0; i<count; i++) //вывод массива на экран
    {
        cout<<*mass[i]<<" ";
    }
    //return (mass[i]);
    return (count);
}
 
//---------------вывод массива------------------------
void out_mass(char *mass[], int count)
{
    int i;
    cout<<"Obrabotanniy massiv:\n";
    for(mass[i]; i=0; i<count; i++) //вывод массива на экран
    {
        cout<<mass[i]<<" ";
    }
 
    ofstream outf;
    outf.open ("C:\out_file");
    outf<<fixed;
 
    for(*mass[i]; i=0; i < count; i++)  //запись в файл
    {
        outf<<mass[i]<<" ";
    }
    
    outf.close();
}
 
//====================================================
 
int main();
{
    int choice;
    cout<<"PROGAMMA SORTIROVKI MASSIVOV METODOM PUZYRKA.\n\n";
    cout<<"Programma obrabtyvaet stroki ne bolee " << SIZE << " simvolov.\n";
    
 
    int i,n;
    char *mass= new mass[SIZE];  //пустой масив символов
 
    in_mass(i)//ввод массива
            
    
    cout<<"Vyberite variant sortirovki: ";
    showmenu();
    cin >> choice;
    while (choice !=5)
    {
        switch (choice)
        {
            case 1: sort_max(mass[], n);
                break;
            case 2: sort_max_mod(mass[], n);
                break;
            case 3: sort_min(mass[], n);
                break;
            case 4: sort_min_mod(mass[], n); 
                break;
            default cout<<"Owibka. Povtorite vvod.\n";
        }
        showmenu();
        cin >> choice;
 
    }
 
    out_mass(*mass[], count)//вывод массива
 
    delete [] mass;  //очистка памяти
 
    _getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 19:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru