First off, that is C, not C# - get your tags right, because although that look very similar they are very, very different languages and a solution for C# will not work at all in C, and a C solution would be abysmal C# code!
But you do need to remember that C arrays are zero based: and array with two elements will have indexes 0 and 1, not 1 and 2. So these lines are wrong:
sizes[i][1] = s1;
sizes[i][2] = s2;
But that seems like a very messy solution to a simple problem: have you considered using a
struct
instead?