Mamy jakiś tam wektor rzadki i mnożymy go przez liczbę. Oto co napisałem:
#include <iostream>
using namespace std;
struct TWezel{
int nr;
TWezel *nast;
};
bool dodaj(TWezel *&pocz, int k)
{
TWezel *tmp = new TWezel();
if(tmp!=NULL)
{
tmp->nr=k;
tmp->nast=pocz;
pocz=tmp;
return true;
}
return false;
}
void wypisz(TWezel *pocz)
{
TWezel *tmp=pocz;
cout << "[ ";
while(tmp != NULL)
{
cout << tmp->nr << " ";
tmp = tmp->nast;
}
cout << "]" << endl;
}
void przez_liczbe(TWezel *pocz)
{
TWezel *tmp=pocz;
cout << "[ ";
while(tmp != NULL)
{
cout << tmp->nr*3 << " ";
tmp = tmp->nast;
}
cout << "]" << endl;
}
int main()
{
TWezel *poczatek = NULL;
for(int i=0; i<15; i++)
{
if((i==1)||(i==9))
dodaj(poczatek,2);
if(i==3)
dodaj(poczatek,9);
if(i==14)
dodaj(poczatek,7);
else
dodaj(poczatek,0);
}
wypisz(poczatek);
przez_liczbe(poczatek);
}
Problem polega na tym, że po pomnożeniu gdzieś te wartości trzeba zapisać (nowy wektor). U mnie tylko są wyświetlane i to niepotrzebnie przez nową funkcję, bo można byłoby wykorzystać funkcję "wypisz". Należy więc stworzyć nową strukturę i nowy wektor a do niego zapisywać pomnożone wartości wektora poprzedniego? Jakby to wyglądało?