You keep doing this sort of thing:
for (int count = 0; count < size; count++)
{
for (int col = 0; col < count; col++)
{
if (array[count][weekdays] > largest)
largest = array[count][weekdays];
}
}
See you are using weekdays to index your array. But that index is invalid. It might sort-of work, but will always return the first element of the next row (and then have more definite undefined behaviour on the last row).
I'm pretty sure you meant to use col instead of weekdays here.
As WhozCraig pointed out in the comments, you probably need to loop over the entire weekdays range too. Here is a slightly repaired loop:
for (int count = 0; count < size; count++)
{
for (int col = 0; col < weekdays; col++)
{
if (array[count][col] > largest)
largest = array[count][col];
}
}
Similarly for everywhere else you've done this...