faktycznie nie działa, jakoś to przeoczyłem, zrozumiałem że nie działa oznacza że nie oblicza według opisanej zależności. Także poprawiam swój błąd:
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
double limit = 1.3;
double[,] matrix = {{2, 1, 4, 5},
{4, 5, 6, 1.4},
{2.3,2, 1, 6}
};
double result;
int rows = matrix.GetLength(0); //liczba wierszy
int columns = matrix.GetLength(1); //liczba kolumn
for (int i = 0; i < columns; i++)
{
result = 1.0;
for (int j = 0; j < rows ; j++)
{
if (matrix[j,i] > limit) // warunek spradzający
result *= matrix[j,i];
else
result = 0.0;
}
if (result > 0.0) System.Console.WriteLine(result);
}
}
}
}
ten program będzie działał przy założeniu że ten dolny limit zawsze będzie dodatni (0,infinity) , ponieważ nie istnieje taki zbiór liczb dodatnich których iloczyn jest równy zero. Oczywiście arytmetyka komputera może zawieść dla bardzo małych liczb, ale nie sądze by ten program miał obliczać takie wartości.
EDIT:
chyba ostatno, nie mogę się skupić