• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Не могу найти ошибку в коде

metal

New member
09.11.2017
1
0
BIT
0
Здравствуйте, нужно сделать сортировку двухмерного массива через radix sort. Но VS выдает такую ошибку
*** 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;
}
Укажите пожалуйста на ошибку два дня мучаюсь ничего не могу найти))) Заранее спасибо.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!