ok, for some reason, it is one of those days where I cannot fix simple problems. Anywhere j is used in this code, I either get left operand must be l-value, or I get pointer erros. Take a look.
Code:
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int getrand(int maxsize);
void printdeck(int deck[], int suit[]);
void shuffle(int deck[], int suit[]);
int prevrandnum=0;
int main()
{
int deck[13];
int suit[4];
for (int i=0; i<13; i++) deck[i]=i;
for (int j=0; j<4; j++) suit[j]=j;
printdeck(suit, deck);
shuffle(suit, deck);
printdeck(suit, deck);
return 0;
}
void printdeck(int deck[], int suit)
{
for(int i=0; i<13; i++)
{
cout<<deck[i];
if(i<12) cout<<", ";
else cout<<". ";
}
for(int j=0; j<4; j++)
{
cout<<suit[j];
if(j<3) cout<<", ";
else cout<<". ";
}
}
void shuffle(int deck[], int suit)
{
int size=13;
int result[13];
while(size>0)
{
int rand=getrand(size);
result[13-size]=deck[rand];
for(int i=rand+1; i>size; i++) deck[i-1]=deck[i];
size=size-1;
}
for (int i=0; i<14; i++) deck[i]=result[i];
int size1=4;
int result1[4];
while(size1>0)
{
int rand=getrand(size1);
result1[4-size]=suit[rand];
for(int j=rand+1; j>size1; j++) suit[j-1]=suit[j];
size1=size1-1;
}
for (int j=0; j<5; j++) suit[j]=result1[j];
deck=result;
suit=result1;
}
int getrand(int maxsize)
{
if(prevrandnum==0)srand(time(NULL));
prevrandnum=rand();
return (rand()%maxsize);
}