Numerical order with ifs question?
In the variables ac3, bc3, cc3, dc3, ec3, and fc3, I have stored the number of moves it took for something to happen. Now, I need to get the lowest, 2nd lowest and third lowest from that group.
Code:
if(ac3<=bc3 && ac3<=cc3 && ac3<=dc3 && ac3<=ec3 && ac3<=fc3)
{
first=1;
ac3=99;
}
if(bc3<=ac3 && bc3<=cc3 && bc3<=dc3 && bc3<=ec3 && bc3<=fc3)
{
first=2;
bc3=99;
}
if(cc3<=ac3 && cc3<=bc3 && cc3<=dc3 && cc3<=ec3 && cc3<=fc3)
{
first=3;
cc3=99;
}
if(dc3<=ac3 && dc3<=bc3 && dc3<=cc3 && dc3<=ec3 && dc3<=fc3)
{
first=4;
dc3=99;
}
if(ec3<=ac3 && ec3<=bc3 && ec3<=cc3 && ec3<=dc3 && ec3<=fc3)
{
first=5;
ec3=99;
}
if(fc3<=ac3 && fc3<=bc3 && fc3<=cc3 && fc3<=dc3 && fc3<=ec3)
{
first=6;
fc3=99;
}
That code works and will pick the lowest from the group.
// I made it do like "#c3=99;" so that for picking the 2nd lowest, it wouldn't count the first.
Now, when I try to pretty much duplicate that code for 2nd place, it messes everything up. Any idea why?
I set three void functions
(void checkfirst
void checksecond
void checkthird)
so that they do not interfere with each other, but it seems when I put in the 2nd or 3rd, it messes with all of them and usually has a lot of 6s (the highest?)
Here is the entire code if you were wondering:
Code:
#include<iostream.h>
#include<time.h>
#include<stdlib.h>
void wait(double seconds)
{
clock_t endwait;
endwait=clock()+seconds*CLK_TCK;
while(clock()<endwait){}
}
int ac,bc,cc,dc,ec,fc;
int ac2,bc2,cc2,dc2,ec2,fc2;
int ac3,bc3,cc3,dc3,ec3,fc3;
int first, second, third;
char track[6][12]=
{
'1','.','.','.','.','.','.','.','.','.','.','.',
'2','.','.','.','.','.','.','.','.','.','.','.',
'3','.','.','.','.','.','.','.','.','.','.','.',
'4','.','.','.','.','.','.','.','.','.','.','.',
'5','.','.','.','.','.','.','.','.','.','.','.',
'6','.','.','.','.','.','.','.','.','.','.','.'
};
int x=0;
void showrace();
void movedahorse();
void checkfirst();
void checksecond();
void checkthird();
int main()
{
srand(time(0));
showrace();
do
{
movedahorse();
wait(0.3);
system("cls");
showrace();
}while(track[0][11]!='1' || track[1][11]!='2' || track[2][11]!='3' || track[3][11]!='4' || track[4][11]!='5' || track[5][11]!='6');
checkfirst();
checksecond();
checkthird();
//cout<<endl<<ac2+ac<<endl<<bc2+bc<<endl<<cc2+cc<<endl<<dc2+dc<<endl<<ec2+ec<<endl<<fc2+fc<<endl;
return 0;
}
void showrace()
{
for (int x=0;x<6;x++)
{
for(int y=0;y<12;y++)
{
cout<<track[x][y]<<" ";
}
cout<<endl;
cout<<endl;
}
}
void movedahorse()
{
int a,b,c,d,e,f;
srand(time(0));
a=rand()%2+1;
b=rand()%2+1;
c=rand()%2+1;
d=rand()%2+1;
e=rand()%2+1;
f=rand()%2+1;
if(a==1&&ac<11)
{
ac=ac+1;
track[0][ac]='1';
track[0][ac-1]='.';
srand(time(0));
}else if(a==2&&ac<11)
{
ac2=ac2+1;
}
if(b==1&&bc<11)
{
bc=bc+1;
track[1][bc]='2';
track[1][bc-1]='.';
srand(time(0));
}else if(b==2&&bc<11)
{
bc2=bc2+1;
}
if(c==1&&cc<11)
{
cc=cc+1;
track[2][cc]='3';
track[2][cc-1]='.';
srand(time(0));
}else if(c==2&&cc<11)
{
cc2=cc2+1;
}
if(d==1&&dc<11)
{
dc=dc+1;
track[3][dc]='4';
track[3][dc-1]='.';
srand(time(0));
}else if(d==2&&dc<11)
{
dc2=dc2+1;
}
if(e==1&&ec<11)
{
ec=ec+1;
track[4][ec]='5';
track[4][ec-1]='.';
srand(time(0));
}else if(e==2&&ec<11)
{
ec2=ec2+1;
}
if(f==1&&fc<11)
{
fc=fc+1;
track[5][fc]='6';
track[5][fc-1]='.';
srand(time(0));
}else if(f==2&&fc<11)
{
fc2=fc2+1;
}
}
void checkfirst()
{
ac3=ac2+ac;
bc3=bc2+bc;
cc3=cc2+cc;
dc3=dc2+dc;
ec3=ec2+ec;
fc3=fc2+fc;
if(ac3<=bc3 && ac3<=cc3 && ac3<=dc3 && ac3<=ec3 && ac3<=fc3)
{
first=1;
ac3=99;
}
if(bc3<=ac3 && bc3<=cc3 && bc3<=dc3 && bc3<=ec3 && bc3<=fc3)
{
first=2;
bc3=99;
}
if(cc3<=ac3 && cc3<=bc3 && cc3<=dc3 && cc3<=ec3 && cc3<=fc3)
{
first=3;
cc3=99;
}
if(dc3<=ac3 && dc3<=bc3 && dc3<=cc3 && dc3<=ec3 && dc3<=fc3)
{
first=4;
dc3=99;
}
if(ec3<=ac3 && ec3<=bc3 && ec3<=cc3 && ec3<=dc3 && ec3<=fc3)
{
first=5;
ec3=99;
}
if(fc3<=ac3 && fc3<=bc3 && fc3<=cc3 && fc3<=dc3 && fc3<=ec3)
{
first=6;
fc3=99;
}
cout<<"First place goes to Horse #"<<first<<endl;
}
void checksecond()
{
if(ac3<=bc3 && ac3<=cc3 && ac3<=dc3 && ac3<=ec3 && ac3<=fc3)
{
second=1;
ac3=99;
}
if(bc3<=ac3 && bc3<=cc3 && bc3<=dc3 && bc3<=ec3 && bc3<=fc3)
{
second=2;
bc3=99;
}
if(cc3<=ac3 && cc3<=bc3 && cc3<=dc3 && cc3<=ec3 && cc3<=fc3)
{
second=3;
cc3=99;
}
if(dc3<=ac3 && dc3<=bc3 && dc3<=cc3 && dc3<=ec3 && dc3<=fc3)
{
second=4;
dc3=99;
}
if(ec3<=ac3 && ec3<=bc3 && ec3<=cc3 && ec3<=dc3 && ec3<=fc3)
{
second=5;
ec3=99;
}
if(fc3<=ac3 && fc3<=bc3 && fc3<=cc3 && fc3<=dc3 && fc3<=ec3)
{
second=6;
fc3=99;
}
cout<<"Second place goes to Horse #"<<second<<endl;
}
void checkthird()
{
}