Здравствуйте, нужно сделать сортировку двухмерного массива через radix sort. Но VS выдает такую ошибку
*** stack smashing detected ***: <unknown> terminated Вот код
Укажите пожалуйста на ошибку два дня мучаюсь ничего не могу найти))) Заранее спасибо.
*** stack smashing detected ***: <unknown> terminated Вот код
C++:
#include <iostream>
#include <ctime>
using namespace std;
const int n = 6;
const int m = 3;
void DisplayTheArray(const int [][m]);
void BubbleSort(int [][m]);
void RandomizeTheArray(int [][m]);
void DisplayTheArray(const int anArray[][m])
{
for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
{
cout.width(5);
cout << anArray[i][j];
}
cout << endl;
}
cout << endl;
}
void BubbleSort(int anArray[][m])
{
int cpy;
int a[n*m];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
a[i*n+j]=anArray[i][j];
}
for (int i = 0; i < n*m; i++)
{
for (int j = 0; j < n*m; j++)
{
if(a[j]>a[j+1])
{
cpy = a[j];
a[j]=a[j+1];
a[j+1]=cpy;
}
}
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
anArray[i][j]=a[i*n+j+1];
}
void RandomizeTheArray(int anArray[][m])
{
for(int i = 0;i < n;i++)
{
for(int j = 0;j < m; j++)
{
anArray[i][j] = rand() % 100;
}
}
}
int main(void)
{
int theArray[6][3];
srand(time(0));
RandomizeTheArray(theArray);
cout << "Рандомний масив" << endl;
DisplayTheArray(theArray);
BubbleSort(theArray);
cout << "Вiдсортований масив" << endl;
DisplayTheArray(theArray);
return 0;
}