Cześć,
w skrócie program ma za zadanie wczytać z pliku kilka liczb ( ilość nie jest z góry ustalona ), następnie posortować te liczby oraz posortowane zapisać do nowego pliku.
plik.h
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
class Liczby
{
vector <Liczby> tab;
public:
Liczby();
void wczytanie(Liczby &);
void sortowanie(Liczby &);
void zapisanie(Liczby &);
friend istream & operator>>(istream &, Liczby &);
friend ostream &operator<<(ostream &, Liczby &);
~Liczby();
};
plik.cpp
#include <iostream>
#include <fstream>
#include "liczby.h"
#include <vector>
#include <algorithm>
using namespace std;
Liczby::Liczby() {};
istream & operator >>(istream &wejscie, Liczby &l)
{
for(int i=0;i<l.tab.size();i++)
wejscie >> l.tab[i];
return wejscie;
}
ostream & operator <<(ostream &wyjscie, Liczby &l)
{
for(int i=0;i<l.tab.size();i++)
return wyjscie<<l.tab[i]<<" ";
}
void Liczby::wczytanie(Liczby &l)
{
fstream plik;
plik.open("liczby.txt");
if (plik.is_open())
{
plik>>l;
}
plik.close();
}
void Liczby::sortowanie(Liczby &l)
{
sort(l.tab.begin(), l.tab.end());
}
void Liczby::wypisz(Liczby &l)
{
for(int i=0;i<l.tab.size();i++)
cout<<l.tab[i]<<" ";
}
void Liczby::zapisanie(Liczby &l)
{
fstream plik;
plik.open("zapis.txt");
if (plik.is_open())
{
plik<<l;
}
plik.close();
}
Liczby::~Liczby() {};
przy kompilacji wyskakują nast błędy:
C:\Program Files (x86)\CodeBlocks\MinGW\lib\gcc\mingw32\5.1.0\include\c++\bits\predefined_ops.h|43|error: no match for 'operator<' (operand types are 'Liczby' and 'Liczby')|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\gcc\mingw32\5.1.0\include\c++\bits\predefined_ops.h|71|error: no match for 'operator<' (operand types are 'Liczby' and 'Liczby')|
C:\Program Files (x86)\CodeBlocks\MinGW\lib\gcc\mingw32\5.1.0\include\c++\bits\predefined_ops.h|55|error: no match for 'operator<' (operand types are 'Liczby' and 'Liczby')|
byłbym bardzo wdzięczny za jakąkolwiek pomoc