Добрый день товарищи
Нужна ваша помощь по задаче на с++.
Как сделать сортировку по дате (для одинаковых названий),при помощи структур данных
Вот сама задача
а) Даны файл, содержащий историю котировки акций: тикер (краткое название), дату и стоимость акций. Отсортировать данные в нем по тикером (в алфавитном порядке) и по дате (для одинаковых тикеров) тасформуваты второй файл. Предположить, что размер файла может быть достаточно большим для загрузки всех данных в память одновременно (до 10 Гб).
Код программы внизу
#include <iostream>
#include <fstream>
#include <windows.h>
#include <cstdlib>
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
ifstream in("ticker.txt");
struct Ticker
{
//unsigned long mark;
string name;
char data[40];
char price[40];
void print();
};
void sort(Ticker *a, int n)
{
Ticker tmp;
for (int i = 1, j; i<n; ++i)
{
tmp = a[i];
for (j = i - 1; j >= 0 && a[j].name > tmp.name; --j)
a[j + 1] = a[j];
a[j + 1] = tmp;
}
ofstream z("sort.txt");
for (int i = 0; i < n; i++){
z << a[i].name << '\t' << a[i].data << '\t' << a[i].price << '\t' << endl;
}
}
int main(int argc, char** argv) {
int n = 0;
Ticker a[20];
Ticker ticker;
while (in.peek() != EOF){
in >> a[n].name >> a[n].data >> a[n].price;
n++;
}
int selection;
setlocale(LC_ALL, "rus");
cout<<"Yess :-)\n";
sort(a, n);
system("pause");
in.close();
return 0;
}
Буду рад вашей помощи