Dada la array 2D amxn, verifique si es una array de Markov.
Array de Markov: La array en la que la suma de cada fila es igual a 1.
Ejemplos:
Input : 1 0 0 0.5 0 0.5 0 0 1 Output : yes Explanation : Sum of each row results to 1, therefore it is a Markov Matrix. Input : 1 0 0 0 0 2 1 0 0 Output : no
Enfoque: inicialice una array 2D, luego tome otra array unidimensional para almacenar la suma de cada fila de la array y verifique si toda la suma almacenada en esta array 1D es igual a 1, en caso afirmativo, entonces es array de Markov de lo contrario.
C++
// C++ code to check Markov Matrix #include <iostream> using namespace std; #define n 3 bool checkMarkov(double m[][n]) { // outer loop to access rows // and inner to access columns for (int i = 0; i <n; i++) { // Find sum of current row double sum = 0; for (int j = 0; j < n; j++) sum = sum + m[i][j]; if (sum != 1) return false; } return true; } // Driver Code int main() { // Matrix to check double m[3][3] = { { 0, 0, 1 }, { 0.5, 0, 0.5 }, { 1, 0, 0 } }; // calls the function check() if (checkMarkov(m)) cout << " yes "; else cout << " no "; } // This code is contributed by Anant Agarwal.
Producción :
yes
¡ Consulte el artículo completo sobre el programa para la array de Markov para obtener más detalles!
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA