You are on page 1of 6

Cdigo en C++ del Juego del gato, tic-tac-toe o tres en

raya
[sourcecode language='cpp']#include
#include
#include char matrix[3][3];//={0};
void cou(void);
int main()
{
int m,n;
char ch=y';
while(ch==Y'||ch==y')
{
for (m=0;m<3;m++)
for (n=0;n<3;n++)
matrix[m][n]= '';
int i,j,sum=0;
while ( sum < 10)
{
if (sum == 0)
cou();
cout<<"Player 1 is 'X': choose the row and column"<<endl;
cout<<"Row : ";
cin>>i;
cout<<"Column : ";
cin>>j;
for (;i>3 || i<1 || j>3 || j<1 ||('X'==matrix[i-1][j-1]||'O'==matrix[i-1][j-1]);)
{
cout<<"Sorry boy, but you gotta choose another place.n";
cout<<"row : ";
cin>>i;
cout<<"column : ";
cin>>j;
}
matrix[i-1][j-1]=X';
sum++;
cou();</endl;
//check if wins
if (matrix[0][0]==X && matrix[0][0]==matrix[1][1] && matrix[1][1]==matrix[2][2])
{cout<<"Player 1 wins"<<endl;break;}
if (matrix[2][0]=='X' && matrix[2][0]==matrix[1][1] && matrix[1][1]==matrix[0][2])
{cout<<"Player 1 wins"<<endl;break;}
if (matrix[0][0]=='X' && matrix[0][0]==matrix[1][0] && matrix[1][0]==matrix[2][0])
{cout<<"Player 1 wins"<<endl;break;}
if (matrix[0][1]=='X' && matrix[0][1]==matrix[1][1] && matrix[1][1]==matrix[2][1])
{cout<<"Player 1 wins"<<endl;break;}

if (matrix[0][2]=='X' && matrix[0][2]==matrix[1][2] && matrix[1][2]==matrix[2][2])


{cout<<"Player 1 wins"<<endl;break;}
if (matrix[0][0]=='X' && matrix[0][0]==matrix[0][1] && matrix[0][1]==matrix[0][2])
{cout<<"Player 1 wins"<<endl;break;}
if (matrix[1][0]=='X' && matrix[1][0]==matrix[1][1] && matrix[1][1]==matrix[1][2])
{cout<<"Player 1 wins"<<endl;break;}
if (matrix[2][0]=='X' && matrix[2][0]==matrix[2][1] && matrix[2][1]==matrix[2][2])
{cout<<"Player 1 wins"<<endl;break;}< p=""> </endl;break;}<></endl;break;}
</endl;break;}
</endl;break;}
</endl;break;}
</endl;break;}
</endl;break;}
</endl;break;}
if (sum == 9)
{//sum=9 because there are only 9 boxes in the game
cout<<"The game is over and no one wins, hahaha, you both stink!!!"<<endl;
break;
}
//player 2's turn</endl;
cout<<"Player 2 is 'O': choose the row and column"<<endl;
cout<<"Row : ";
cin>>i;
cout<<"Column : ";
cin>>j;
for (;i>3 || i<1 || j>3 || j<1 ||('X'==matrix[i-1][j-1]||'O'==matrix[i-1][j-1]);)
{
cout<<"Sorry boy, but you gotta choose another place.n";
cout<<"row : ";
cin>>i;
cout<<"column : ";
cin>>j;
}
matrix[i-1][j-1]=O';
sum++;
//the play box
cou();
//check if wins
if (matrix[0][0]==O && matrix[0][0]==matrix[1][1] && matrix[1][1]==matrix[2][2])
{cout<<"Player 2 wins"<<endl;break;}
if (matrix[2][0]=='O' && matrix[2][0]==matrix[1][1] && matrix[1][1]==matrix[0][2])
{cout<<"Player 2 wins"<<endl;break;}
if (matrix[0][0]=='O' && matrix[0][0]==matrix[1][0] && matrix[1][0]==matrix[2][0])
{cout<<"Player 2 wins"<<endl;break;}
if (matrix[0][1]=='O' && matrix[0][1]==matrix[1][1] && matrix[1][1]==matrix[2][1])
{cout<<"Player 2 wins"<<endl;break;}
if (matrix[0][2]=='O' && matrix[0][2]==matrix[1][2] && matrix[1][2]==matrix[2][2])
{cout<<"Player 2 wins"<<endl;break;}

if (matrix[0][0]=='O' && matrix[0][0]==matrix[0][1] && matrix[0][1]==matrix[0][2])


{cout<<"Player 2 wins"<<endl;break;}
if (matrix[1][0]=='O' && matrix[1][0]==matrix[1][1] && matrix[1][1]==matrix[1][2])
{cout<<"Player 2 wins"<<endl;break;}
if (matrix[2][0]=='O' && matrix[2][0]==matrix[2][1] && matrix[2][1]==matrix[2][2])
{cout<<"Player 2 wins"<<endl;break;}
}
cout<<"nWould you like to play again??? (Y - N)n";
cin>>ch;
}
system(PAUSE);
return 0;
}</endl;break;}
</endl;break;}
</endl;break;}
</endl;break;}
</endl;break;}
</endl;break;}
</endl;break;}
</endl;break;}
</endl;
void cou(void)
{
//the play box
cout<<ntt
1 2 3n<<endl;
cout<<tt
1 <<matrix[0][0]<<" |="" "<<matrix[0][1]<<"=""
"<<matrix[0][2]<<endl;
cout<<"tt
---|---|---n";
cout<<"tt
2 "<<matrix[1][0]<<" |="" "<<matrix[1][1]<<"=""
"<<matrix[1][2]<<endl;
cout<<"tt
---|---|---n";
cout<<"tt
3 "<<matrix[2][0]<<" |="" "<<matrix[2][1]<<"=""
"<<matrix[2][2]<<"nnn";
}</matrix[2][0]<<"></matrix[1][0]<<"></matrix[0][0]<<"></endl;
[/sourcecode]

REGRESION LINEAL

#include<stdio.h>
#include<math.h>

double line[5][2]={{3, 1},{2, 2},{3, 3},{4, 4},{5, 5}};


double pot[5][2]={{1, 1},{2, 4},{3, 9},{4,16},{5, 25}};
double loga[5][2]={{1,0},{2,0.69},{3,1.09},{4,1}};
double expo[5][2]={{1,2.71828},{2,7.38905},{3,2}};

double sumx, sumy, sumxx, sumxy, tmp[5][2];

double regresion(double Tmp[5][2], int l,double *A, double *B);

int L;

int main(void){
double a, b;
int i;
L=5;

// Linea
regresion(tmp,L,&a,&b);
printf("Lineal: a=%.10f y b=%.4f\n", a, b);

// Curva potencial
for(i=0;i<L;i++){
tmp[i][0]=(double)log(pot[i][0]);
tmp[i][1]=(double)log(pot[i][1]);
}

regresion(tmp,L,&a,&b);
printf("Potencial: a=%.10f y b=%.4f\n", a, b);

//Curva logaritmica
for(i=0;i<L;i++){
tmp[i][0]=(double)log(loga[i][0]);
tmp[i][1]=loga[i][1];
}
regresion(tmp,L,&a,&b);
printf("Llogaritmica: a=%.10f y b=%.4f\n", a, b);

//Curva exponencial
for(i=0;i<L;i++){
tmp[i][0]=expo[i][0];
tmp[i][1]=(double)log(expo[i][1]);
}
regresion(tmp,L,&a,&b);
printf("Exponencial: a=%.10f y b=%.4f\n", a, b);
//
return 0;
}

//Regresion lineal
double regresion(double Tmp[5][2], int l,double *A, double *B){
int i;

double SumX,SumY,SumXX,SumXY,D;

for(i=0;i<l;i++){
SumX += Tmp[i][0];
SumY += Tmp[i][1];
SumXX += Tmp[i][0]*Tmp[i][0];
SumXY += Tmp[i][0]*Tmp[i][1];
}
D = l*SumXX-SumX*SumX;
*A = (SumXX*SumY-SumX*SumXY)/D;
*B = (l*SumXY-SumX*SumY)/D;
return *A,*B;
}

You might also like