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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
KillingKiller
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 11
#1

Чтение текстового файла и сортировка несколькими алгоритмами - C++

02.04.2010, 09:30. Просмотров 2098. Ответов 2
Метки нет (Все метки)

Дорогие программисты,

Мне задали домашку про сортировочные алгоритмы. Я уже написал алгоритмы, но из-за того что мало знаком с С++, не знаю как поместить в массив слова из текстового файла, и не могу определить куда эти алгоритмы надо всатвить, , т.е. после чего надо начинать сортировку.

Теперь по подробнее о задачке:

Скажем есть файл 123.txt надо чтоб программа прочитала все слова оттуда, зарисала их в массив, а после просортировала в алфавитном порядке с помощью Быстро-Сорта (quick sort), Сортировка-Вставкой(insertion sort), Выборочная Сортировка (selection sort), Сортировка-Слиянием (Merge sort), и сортировка деревом (heap sort)

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

А вот алгоритмы которые я уже написал:

Сортировка Вставкой
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
#include <iostream>
#include <vector>
 
using namespace std;
int main(){
vector<int> nums;
int num;
 
cout<<"Enter a number: ";
while(cin>>num){
nums.push_back(num);
cout<<"Enter a number: ";   
}
 
for(int i=1; i<nums.size()-1; i++){
    int val=nums[i];
    int j=i-1;
 
    while(j>0 && nums[j]>val){
            nums[j+1]=nums[j];
            j=j-1;
    }
    nums[j+1]=val;
}
 
cout<<endl<<"sorted array"<<endl;
 
for(int i=0; i<nums.size(); i++){
        cout<<nums[i]<<" ";
}
cout<<endl;
 
return 0;
 
}
Пример Выборочного Сорта
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
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
 
using namespace std;
 
void read(ifstream& in){
string s;
 
    vector<int> nums;
    while (getline(in, s)){
        
        const char *cstr=s.c_str();
        
        while(*cstr !='\0'){
            string subStr;
            int x=atoi(subStr.c_str());
            nums.push_Back(x);
            cstr++;     
        }
        
    for(int i=0; i<nums.size()-2; i++){
    
        int minIdx=i;
            
        for(int j=i+1; j<nums.size()-1; j++){
            if(nums[j]<nums[minIdx]){   
                minIdx=j;   
            }
        }
            
    int temp=nums[i];       
    nums[i]=nums[minIdx];       
    nums[minIdx]=temp;
    }
    }
}
 
 
int main(){
 
string filename;
cout<<"Enter the filename: ";
cin>>filename;
 
ifstream infile;
infile.open(filename.c_str());
if(infile.fail()){
    cout<<"Error opening "<<filename<<endl;
    return 1;
    }
 
read(infile);
return 0;
}
В приведенном выще примере, я попытался рещить задачку, но как видно ничего из этого у меня не получилось Мне надо домашку завтра сдать а пока кроме вот этих двух алгоритмов ничего нет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2010, 09:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение текстового файла и сортировка несколькими алгоритмами (C++):

Чтение файла с несколькими знаками конца файла - C++
В файле несколько раз встречается ноль, и ни как не получается прочитать его полностью. Как можно решить данную проблему ?

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. - C++
#include&lt;iostream&gt; #include&lt;fstream&gt; #include&lt;locale.h&gt; #include&lt;iomanip&gt; #include &lt;cstdlib&gt; using namespace std; struct...

как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла? - C++
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Чтение из текстового файла - C++
как сделать чтобы прога выводила на экран слова из текстового документа пока не натыкалась на символ &quot;;&quot; а после этого прога начиналась с...

Чтение текстового файла - C++
Помогите с программой, пожалуйста. В ворде код программы, а в текстовом файле то, что должно быть на выходе.

Чтение из текстового файла - C++
Нашел программу для чтения из файла информации: Номер предмета, Наименование, Фамилия. Помогите создать текстовый документ под программу,...

2
M128K145
Эксперт С++
8289 / 3509 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.04.2010, 21:41 #2
Ознакомьтесь Алгоритмы сортировок
0
KillingKiller
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 11
02.04.2010, 21:59  [ТС] #3
спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2010, 21:59
Привет! Вот еще темы с ответами:

Чтение текстового файла - C++
здравствуйте. у меня не получается считать текстовый файл. сам файл имеет имеет жесткую структуру: первая строка число(по сути колличество...

Чтение из текстового файла - C++
Добрый день. Проблема моя в следующем: есть текстовой файл примерно следующего содержания a 10 2 2 b 5 5 1 c 3 7 0 d 5 22 0 ...

Чтение текстового файла - C++
Знакомлюсь с чтением текстового файла. Изначально была такая программа: #include&lt;iostream&gt; using namespace std; struct spip { ...

Чтение из текстового файла - C++
Здравствуйте, Уважаемые форумчане. Возникла такая проблема. Надо считать из файла(внешнего) данные тип int и char- это 2 разных файла, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru