Ошибка в сортировки матрицы в с++
Подскажите,что делать мне нужно сделать сортировку матрицы по убыванию значений. Но при попытке это сделать появляются такие вот ошибки: нельзя определить экземпляр перегружена функция "size" использование которого предполагается, индификатор temp не определен и выражение должно быть допустимым для изменения левосторонним значением.Как эти ошибки можно исправить. Вот сам код:
// ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
//
#include"stdafx.h"
#include "iostream"
#include "ctime"
#include"stdlib.h"
using namespace std;
void main()
{
const int ROWS = 50;
const int COLS = 100;
int arr[ROWS][COLS];
for (int m = 0; m < ROWS; m++)
{
for (int n = 0; n < COLS; n++)
{
arr[m][n] = rand() % 100;
}
}
for (int m = 0; m < ROWS; m++)
{
for (int n = 0; n < COLS; n++)
{
cout << arr[m][n] << "\t";
}
for (int m = 0; m < size - 1; m++) {
for (int n = 0; n < size - m - 1; n++) {
if (arr[n] > arr[n + 1]) {
temp = arr[n];
arr[n] = arr[n + 1];
arr[n + 1] = temp;
}
}
}
for (int m = 0; m < size; m++) {
cout << arr[m] << " ";
}
cout << endl;
}
}
Благодарю за помощь