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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано натуральное число.... Вычислить http://www.cyberforum.ru/cpp-beginners/thread111901.html
Дано натуральное число n. Вычислить n_ \ (-1)^k *(k+1) /_ ------------- k=0 k! Как то так... помогите плз!
C++ Файлы С++ как вывести на экран m последних строк из файла(с++) зарание спасибо)) http://www.cyberforum.ru/cpp-beginners/thread111881.html
C++ Значение функции Эйлера
Помогите разобраться, как можно реализовать функцию Эйлера на Си. Алгорим такой: фи(r)=r*(1-1/p1)*(1-1/p2)*...*(1-1/pn) где r=p1^a1*p2^a2*...*pn^am
Вывести максимальные элементы массива C++
Помогите пожалуйста с задачкой: Из M участников предыдущих соревнований N спортсменов, которые набрали самую большую сумму баллов, выходят в финал. За протоколом предыдущих соревнований определить и вывести номера финалистов и набранные ими суммы баллов. Огромное спасибо за помощь!
C++ работа с файлами http://www.cyberforum.ru/cpp-beginners/thread111866.html
пишу прогу по файлам на С++, мне нужно использовать ф-ию которая сбрасывает указакеть на начало потока. В Си есть ф-ия rewind, есть ли эквивалентная ей в С++?
C++ Удалить k - ый элемент Никак не разберусь с этой задачей: Удалить k - ый элемент массива A, состоящий из N элементов. Заранее спасибо. подробнее

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

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

02.04.2010, 09:30. Просмотров 2059. Ответов 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;
}
В приведенном выще примере, я попытался рещить задачку, но как видно ничего из этого у меня не получилось Мне надо домашку завтра сдать а пока кроме вот этих двух алгоритмов ничего нет
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru