Proszę o wskazówkę do kodu poniżej:
#include <cstddef>
#include <iostream>
using namespace std;
struct WrogiStatek
{
int index;
int bron;
WrogiStatek* w_n_statek;
};
WrogiStatek* NowyStatek(WrogiStatek* w_lista)
{
WrogiStatek* w_statek = new WrogiStatek;
w_statek->index =0;
w_statek->bron =10;
w_statek->w_n_statek = w_lista;
return w_statek;
}
void Usun(WrogiStatek* w_lista, int ilosc);
int main()
{
WrogiStatek* w_lista = NULL;
int ilosc;
cout<<"Ile statkow chcesz stworzyc?: ";
cin>>ilosc;
for(int i=0; i<ilosc; i++)
{
w_lista = NowyStatek(w_lista);
w_lista->index = i+1;
cout<<w_lista->index<<endl;
}
cout<<"Ktory element struktury chcesz aby zostal usuniety?: ";
cin>>ilosc;
Usun(w_lista, ilosc);
while(w_lista != NULL)
{
if(w_lista !=NULL)
cout<<w_lista->index<<endl;
w_lista = w_lista->w_n_statek;
}
return 0;
}
void Usun(WrogiStatek* w_lista, int ilosc)
{
WrogiStatek* tymczas;
while(w_lista != NULL)
{
if(w_lista->w_n_statek->index == ilosc)
{
tymczas = w_lista->w_n_statek->w_n_statek;
delete w_lista->w_n_statek;
w_lista->w_n_statek = NULL;
w_lista->w_n_statek = tymczas;
break;
}else
if(w_lista->index == ilosc)
{
delete w_lista;
w_lista = w_lista->w_n_statek;
w_lista = NULL;
break;
}
w_lista = w_lista->w_n_statek;
}
}
Zrozumiecie o co mi chodzi jeśli wpiszecie do programu np.
5 i 1 lub 2 lub 3 lub 4(wybierzcie jedną z tych liczb)
Kolejnym razem gdy uruchomicie program podajcie te same liczby np:
5 i 5
lub
10 i 10
Wtedy wszystko się wyjaśni