Algorytmy 27.IV.2012, Laborki, ASD
[ Pobierz całość w formacie PDF ]
//Algorytm Min-Max - gra w zapałki.#include <cstdlib>#include <iostream>using namespace std;int main(){int n,m,x;cout<<"Ile jest zapalek\n";cin>>n;cout<<"Kto rozpoczyna gre\n-1 - komputer\n 1 - gracz\n";cin>>m;if (m==-1) {--n;cout<<"Komputer zabral 1 zapalke\n";if (n==0) cout<<"Wygral kopmuter" ;cout<<"Zostalo "<< n << " zapalek";}while(n>0){cout<<"\nIle zabrac zapalek\n";cin>>x;n=n-x;cout<<"Zostalo "<< n << " zapalek";if (n==0) {cout<<"\nWygral gracz";break;}else { cout<<"\nKomputer zabral 1 zapalke\n";--n;}if (n==0) cout<<"\nWygral kopmuter";}cout<<"\n\n";system("PAUSE");return EXIT_SUCCESS;}//Funkcja search#include <cstdlib>#include <iostream>using namespace std;struct list{ int wynik;int ile;};list search(int i, int j);int main(){int n,m;cout<<"Ile jest zapalek\n";cin>>n;cout<<"Wynik "<<search(n,1).wynik; cout<<"\n\n";cout<<"Ile "<<search(n,1).ile;cout<<"\n\n";system("PAUSE");return EXIT_SUCCESS;}list search (int i, int j){list tmp,tmp1,tmp2;if (0<i && i<=2) {tmp.ile=i; tmp.wynik=j; return (tmp);}if (j==1){tmp1=search(i-1,-1);tmp2=search(i-2,-1);if (tmp1.wynik > tmp2.wynik){tmp.wynik = tmp1.wynik; tmp.ile=1;}else {tmp.wynik = tmp2.wynik; tmp.ile=2;}return tmp;}else{tmp1=search(i-1,1);tmp2=search(i-2,1);if(tmp1.wynik < tmp2.wynik){tmp.wynik = tmp1.wynik; tmp.ile=1;}else {tmp.wynik = tmp2.wynik; tmp.ile=2; }return tmp;}}
[ Pobierz całość w formacie PDF ]