Pagini recente » Cod sursa (job #215049) | Cod sursa (job #831706) | Cod sursa (job #1874524) | Cod sursa (job #564042) | Cod sursa (job #2055352)
//Laborator 1; Cerinta 1; subpunct b;
#include<fstream>
#include<algorithm>
#include<vector>
#include<iostream>
#include<conio.h>
#include <stdlib.h>
#include <ctime>
#include <time.h>
#include <unistd.h>
#include <windows.h>
using namespace std;
ifstream f("data.in");
ofstream g("data.out");
int main()
{
int pas=0;
int n=0;
f>>n;
int *lista= new int[n];
for(int i=0;i<n;++i)
f>>lista[i];
long int suma_eleme_pe_poz_pare=0;
long int suma_eleme_pe_poz_impare=0;
long int suma_1=0,suma_2=0;
for(int i=0;i<n;i+=2) //Calcularea celor doua sume
{
suma_eleme_pe_poz_pare+=lista[i];
suma_eleme_pe_poz_impare+=lista[i+1];
}
int stanga=0,dreapta=n-1;
bool tip_suma,schimbare_suma=0;
short element=0; //element indica care din suma este cea mai mare
if(suma_eleme_pe_poz_pare>=suma_eleme_pe_poz_impare) { element=0; tip_suma=0;}
else
if(suma_eleme_pe_poz_pare<suma_eleme_pe_poz_impare)
{ element=1; tip_suma=1;}
else
element=2;
cout<<"Bine ai venit in joc:\n\n\n";
cout<<"Tabla de joc: ";for(int i=stanga;i<=dreapta;++i) cout<<lista[i]<<" ";cout<<"\n\n";
while(stanga<=dreapta)
{
++pas; cout<<"Pasul "<<pas<<"\n";
cout<<"Jucatorul 1 alege "; Sleep(2500);
if(element==0)
{
cout<<"elementul din stanga tablei "<<lista[stanga]<<"\n";
suma_1+=lista[stanga];
if(stanga%2==0)
suma_eleme_pe_poz_pare-=lista[stanga];
else
suma_eleme_pe_poz_impare-=lista[stanga];
++stanga;
}
else
{
cout<<"elementul din dreapta tablei "<<lista[dreapta]<<"\n";
suma_1+=lista[dreapta];
if(dreapta%2==0)
suma_eleme_pe_poz_pare-=lista[dreapta];
else
suma_eleme_pe_poz_impare-=lista[dreapta];
--dreapta;
}
cout<<"Calculatorul alege: "; Sleep(2500);
int rand_elem;
srand(time(0));
rand_elem=rand()%2;
if(rand_elem==0)
{
cout<<" elementul din stanga: "<<lista[stanga]<<"\n";
suma_2+=lista[stanga];
if(stanga%2==0)
suma_eleme_pe_poz_pare-=lista[stanga];
else
suma_eleme_pe_poz_impare-=lista[stanga];
stanga++;
element=0;
}
else
{
cout<<" elementul din dreapta: "<<lista[dreapta]<<"\n";
suma_2+=lista[dreapta];
if(dreapta%2==0)
suma_eleme_pe_poz_pare-=lista[dreapta];
else
suma_eleme_pe_poz_impare-=lista[dreapta];
--dreapta;
element=1;
}
if(suma_eleme_pe_poz_pare<suma_eleme_pe_poz_impare&&tip_suma==0&&schimbare_suma==0)
{
tip_suma=1;
element+=1;
element=element%2;
schimbare_suma=1;
}
else
if(suma_eleme_pe_poz_impare<suma_eleme_pe_poz_pare&&tip_suma==1&&schimbare_suma==0)
{
tip_suma=0;
element+=1;
element=element%2;
schimbare_suma=1;
}
cout<<"Suma jucator 1: "<<suma_1<<"\n"<<"Suma jucator 2: "<<suma_2<<"\n\n";
Sleep(5000);
}
if(suma_1>=suma_2) cout<<"Jucatorul 1 a castigat:\n";
cout<<"Suma jucator 1: "<<suma_1<<"\n"<<"Suma jucator 2: "<<suma_2<<"\n\n";
return 0;
}