I only see one issue in two places:
if (valid_triangle = true)
This is an assignment statement, which is always true, because it used the "=" operator. If you want to do a comparison test, it must use the "==" operator.
[EDIT: following comment]
(I really need to stop answering questions in the middle of the night.)
There is another problem in the same ...
What I think you are doing wrong is, you are checking if an array is less than or equal to 0. What you should be doing is indexing into the array. Then it would be checking the float values.
while (sides[i] <= 0);
Looks like check50 got a different file. Maybe you have forgotten to save, or you are in the wrong directory, one where you stored a solution to mario.less? check50 will always upload mario.c from current directory, it may not be renamed.