The first thing to do is to think about what you are trying to do: rather than creating a 3D array with fixed sizes and getting the user to input the count, consider a List instead, so it can expand as needed:
List<string[]> storeSemesterProfit = new List<string[]>();
Then let the user enter data util he runs out and it's easy to store:
string storeData = Console.ReadLine();
while (!string.IsNullOrWhiteSpace(storeData))
{
storeSemesterProfit.Add(storeData.Split(' '));
storeData = Console.ReadLine();
}
Even better would be to convert the strings to actual numbers at this point as it's easy to get the user to fix his typos:
List<decimal[]> storeSemesterProfit = new List<decimal[]>();
string storeData = Console.ReadLine();
while (!string.IsNullOrWhiteSpace(storeData))
{
string[] parts = storeData.Split(' ');
decimal[] profits = new decimal[parts.Length];
bool ok = true;
for (int i = 0; i < parts.Length; i++)
{
decimal value;
if (!decimal.TryParse(parts[i], out value))
{
Console.WriteLine($"{parts[i]} is not a number: line ignored, please reenter");
ok = false;
break;
}
profits[i] = value;
}
if (ok)
{
storeSemesterProfit.Add(profits);
}
storeData = Console.ReadLine();
}