Witam,
1.Zdefiniować typ strukturalny zesp, zawierający dwa pola cz_r oraz cz_z typu float. Napisać 1-argumentową funkcję gen_f, której wartością jest wskaźnik do wektora o n (to jedyny parametr funkcji) elementach. Elementami wektora są struktury typu zesp. W wektorze mają być pamiętane liczby zespolone 1+2i, 2+3i,…,n+(n+1)i.
2.Przyjmując, że zdefiniowana jest funkcja z zadania nr 1, napisać funkcję main, w której funkcja gen_f wywołana zostanie dla n=10. Elementy utworzonego wektora zapisać w pliku tekstowym pz.txt w taki sposób, aby każda liczba zespolona była zapisana w jednej linii w postaci podanej w zadaniu nr 1.
Niestety ale nie rozumiem do końca jak działają te wskaźniki i mam problem, może zadanie jest banalne. Proszę o wskazanie co robię źle.
struct zesp
{
float cz_r, cz_z;
};
ostream & operator<<(ostream& str, zesp& z)
{
str << z.cz_r;
str << z.cz_z;
return str;
}
vector<zesp>*& gen_f(int n)
{
vector<zesp>*v = new vector<zesp>(n);
zesp z;
for (int i = 1; i <= n; i++)
{
z.cz_r = i;
z.cz_z = i + 1;
v->push_back(z);
}
return v;
}
int main()
{
//ZADANIE 2
gen_f(10);
ofstream plik;
plik.open("pz.txt");
if (plik)
{
for (int i = 0; i < v.size(); i++)
{
plik << v[i].cz_r << "+" << v[i].cz_z << "i" << endl;
}
}
plik.close();
}