program idzie skompilować i uruchomić jednak gdy ta tabela: int reka[10000][7];
dojdzie gdzies do reka[5000][7] to wyskakuje błąd 'How to debug Buffer Overrun Issues' czyli nie dz siętego programu dalej puścić niż w tej lini na ekranie pokaże się ii2 - 5000 --> printf("222222start %d , ii2 %d\n",start,ii2);
oraz nie wiem jak zadeklarować większą tablicę od tej int reka[10000][7]; na tablicę przynajmniej nt reka[1000000][7];
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <windows.h>
#include <Shellapi.h>
#include <fstream>
//#pragma comment(lib, "shell32.lib")
using namespace std;
int _tmain()
{
srand((int) time(0));
printf("test 300 , test %d\n?", rand() % 301);
Sleep(rand() % 1001);
//ShellExecuteA(NULL,"open","http://google.com",NULL,NULL, SW_SHOWNORMAL);
int tab1[52],tab2[52],tablos[52];
int reka[10000][7];
int los=0;
tab1[0]=2;
tab1[1]=3;
tab1[2]=4;
tab1[3]=5;
tab1[4]=6;
tab1[5]=7;
tab1[6]=8;
tab1[7]=9;
tab1[8]=10;
tab1[9]=10;
tab1[10]=10;
tab1[11]=10;
tab1[12]=11;
tab1[13]=2;
tab1[14]=3;
tab1[15]=4;
tab1[16]=5;
tab1[17]=6;
tab1[18]=7;
tab1[19]=8;
tab1[20]=9;
tab1[21]=10;
tab1[22]=10;
tab1[23]=10;
tab1[24]=10;
tab1[25]=11;
tab1[26]=2;
tab1[27]=3;
tab1[28]=4;
tab1[29]=5;
tab1[30]=6;
tab1[31]=7;
tab1[32]=8;
tab1[33]=9;
tab1[34]=10;
tab1[35]=10;
tab1[36]=10;
tab1[37]=12;
tab1[38]=11;
tab1[39]=2;
tab1[40]=3;
tab1[41]=4;
tab1[42]=5;
tab1[43]=6;
tab1[44]=7;
tab1[45]=8;
tab1[46]=9;
tab1[47]=10;
tab1[48]=10;
tab1[49]=10;
tab1[50]=12;
tab1[51]=11;
for(int i=0;i<10000;i++)
{
for(int j=0;j<7;j++)
{
reka[i][j]=-100;
}
}
std::fstream plik;
plik.open("dane.txt",std::ios::in|std::ios::out);
//if( plik.good() == true )
//{
// std::cout << "Uzyskano dostep do pliku!" << std::endl;
//tu operacje na pliku
//} else std::cout << "Dostep do pliku zostal zabroniony!" << std::endl;
int ii=0;
int ii2=0;
//////////////////////////////////////////////////////////////////
for (int start=0;start<370;start++)
{
for(int i=0;i<52;i++)
{
tablos[i]=-1000;
// printf("i=%d , %d\n",i ,tablos[i]);
}
for(int i=0;i<52;i++)
{
jeszczeraz:
tablos[i]=rand() % 52;
for(int j=0;j<i;j++)
{
if(tablos[i]==tablos[j]&&(i!=j))
{
goto jeszczeraz;
}
}
}
for(int i=0;i<52;i++)
{
tab2[i]=tab1[tablos[i]];
printf("i=%d , %d\n",i ,tab2[i]);
}
///////////////////////////////////////////////
int k=0;
for(int ii=(0+ii2);ii<(27+ii2);ii++)
{
ii2++;
if(ii2%27==0&&ii2!=0)
goto tu;
if(ii2%100==0)
{
printf("123456start %d , ii2 %d ii %d\n",start,ii2,ii);
system("pause");
}
for(int j=0;j<7;j++)
{
if(tab2[k]==12)
{
tab2[k]=0;
}
reka[ii+ii2][j]=tab2[k];
k++;
if(j==0)
{
reka[ii+ii2][5]=reka[ii+ii2][0];
reka[ii+ii2][6]=reka[ii+ii2][0];
if(reka[ii+ii2][0]==11)
{
reka[ii+ii2][6]=reka[ii+ii2][6]-10;
}
}
if(j==1)
{
reka[ii+ii2][5]=reka[ii+ii2][5]+reka[ii+ii2][1];
reka[ii+ii2][6]=reka[ii+ii2][6]+reka[ii+ii2][1];
if(reka[ii+ii2][1]==11)
{
reka[ii+ii2][6]=reka[ii+ii2][6]-10;
}
if(reka[ii+ii2][5]==21)
{
j=10;
}
}
if(j==2)
{
reka[ii+ii2][5]=reka[ii+ii2][5]+reka[ii+ii2][2];
reka[ii+ii2][6]=reka[ii+ii2][6]+reka[ii+ii2][2];
if(reka[ii+ii2][2]==11)
{
reka[ii+ii2][6]=reka[ii+ii2][6]-10;
}
if(reka[ii+ii2][5]==21||reka[ii+ii2][6]==21)
{
j=10;
}
if(reka[ii+ii2][5]>21&&reka[ii+ii2][6]>21)
{
j=10;
}
}
if(j==3)
{
reka[ii+ii2][5]=reka[ii+ii2][5]+reka[ii+ii2][3];
reka[ii+ii2][6]=reka[ii+ii2][6]+reka[ii+ii2][3];
if(reka[ii+ii2][3]==11)
{
reka[ii+ii2][6]=reka[ii+ii2][6]-10;
}
if(reka[ii+ii2][5]==21||reka[ii+ii2][6]==21)
{
j=10;
}
if(reka[ii+ii2][5]>21&&reka[ii+ii2][6]>21)
{
j=10;
}
}
if(j==4)
{
reka[ii+ii2][5]=reka[ii+ii2][5]+reka[ii+ii2][4];
reka[ii+ii2][6]=reka[ii+ii2][6]+reka[ii+ii2][4];
if(reka[ii+ii2][4]==11)
{
reka[ii+ii2][6]=reka[ii+ii2][6]-10;
}
if(reka[ii+ii2][5]==21||reka[ii+ii2][6]==21)
{
j=10;
}
if(reka[ii+ii2][5]>21&&reka[ii+ii2][6]>21)
{
j=10;
}
}
}
}
tu:
k=0;
if(ii2%54==0)
{
printf("222222start %d , ii2 %d\n",start,ii2);
system("pause");
}
if (ii2>=9990)
goto koniec;
}
koniec:
/////////////////////////
for(int i=0;i<9990;i++)
{
plik <<"\n"<<i;
for(int j=0;j<7;j++)
{
plik <<"\n"<<j<<"\n"<<reka[i][j];
}
plik <<"\n"<<endl<<"\n";
}
plik.close();
system("pause");
return 0;
}