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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка http://www.cyberforum.ru/cpp-beginners/thread111808.html
fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник.
C++ Деревья(обьясните) помогите разобраться с деревьями (с построением и работой над ними) ПЛЗ гарю!!!!!! http://www.cyberforum.ru/cpp-beginners/thread111698.html
Оболочка потока. Опять неоднозначность C++
//========================================================================================================================================= class TOStream { protected: //----------------------------------------------------------------------------------------------------------------------------------------- ostream *Stream; ...
C++ Определить количество неудолетворительных оценок
Уважаемые Форумчане помогите перевести задачу из язика Pascal в язик С++. Вот условие:Определить кол-во неудолитворительных оценок за контрольную роботу с обчислительной техники в групе с М студентов. Program M1_B2; uses crt; const m=5; var i,c:integer; a:array of integer; Begin
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента http://www.cyberforum.ru/cpp-beginners/thread111159.html
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента. Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик. Помогите, завтра сдать надо((((((
C++ Подключить устройство через COM-порт и отправить на него данные Всем доброго времени суток. Потребовалось подключить устройство через COM-порт, и чтобы программа считывала и отправляла не него данные. Начал разбираться в теме и нашел примерно такой код: #include <iostream> #include <string> #include <conio.h> #include <winbase.h> void open_port(); void close_port(); подробнее

Показать сообщение отдельно
KillingKiller
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 11
02.04.2010, 09:30     Чтение текстового файла и сортировка несколькими алгоритмами
Дорогие программисты,

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

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

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