Cześć, mam taki programik do napisania:
Napisz program który, znajdzie x na liście jeżeli jest x dopiero szukamy y. Jeżeli jest x oraz y usuwamy elementy pomiędzy nimi – X, Y parametry funkcji. Wytestować na listach:1, 2, 3, 4 (dla x=6 oraz y=12), 4(dla x=5 oraz y=22), 4(dla x=18, y=-5);
Listy:
- H->NULL;
- H->5->NULL
- H->5->8->NULL
- H->5->3->6->8->5->18->-5->8->12->22->NULL
- H->55->8->25->NULL
- H->8->55->25->NULL
- H->8->55->25->->75->25->NULL
Udało mi się napisać funkcję która sprawdza czy na danej liście znajduje się x i y. Teraz nie mam pomysłu jak napisać resztę kodu
Oto mój kod:
#include <iostream>
#include <list>
using namespace std;
bool checkXY(list<int> lists, int x, int y){
bool ifX = false;
bool ifY = false;
for(list<int>::iterator i=lists.begin(); i != lists.end(); i++){
if(*i==x){
ifX= true;
continue;
}
if(ifX== true && *i==y)
ifY= true;
}
return (ifX && ifY);
}
int main() {
list<int> list1 = {};
list<int> list2 = {5};
list<int> list3 = {5,8};
list<int> list4 = {5,3,6,8,5,18,5,12,22};
list<int> list5 = {55,8,25};
list<int> list6 = {8,55,25};
list<int> list7 = {8,55,25,75,25};
return 0;
}