Prueba de algoritmos | Colocación de Sudo [1.5] | Pregunta 10

A continuación se muestra el código para la suma del producto de dos arrays, con algunos errores (que pueden generar resultados incorrectos) en alguna instrucción. Elija la opción correcta que tiene la declaración con error.

// CPP program to find minimum sum of product
// of two arrays with k operations allowed on first array.
#include <bits/stdc++.h>
using namespace std;
  
// Function to find the minimum product
int minproduct(int a[], int b[], int n, int k)
{
    int diff = 0, res = 0;
    int temp;
    for (int i = 0; i < n; i++) {
  
        // Find product of current elements and update result.
        int pro = a[i] * b[i];
        res = res + pro;
  
        // If both product and b[i] are negative,
        // we must increase value of a[i] to minimize result.
        if (pro < 0 && b[i] < 0)
            temp = (a[i] + 2 * k) * b[i];
  
        // If both product and a[i] are negative,
        // we must decrease value of a[i] to minimize result.
        else if (pro < 0 && a[i] < 0)
            temp = (a[i] - 2 * k) * b[i];
  
        // Similar to above two cases for positive product.
        else if (pro > 0 && a[i] < 0)
            temp = (a[i] + 2 * k);    // statement 1
        else if (pro > 0 && a[i] > 0)
            temp = (a[i] - 2 * k);    // statement 2
  
        // Check if current difference becomes higher
        // than the maximum difference so far.
        int d = abs(pro - temp);
        if (d > diff)
            diff = d;    
    }
  
    return res - diff;
}
  
// Driver function
int main()
{
    int a[] = { 2, 3, 4, 5, 4 };
    int b[] = { 3, 4, 2, 3, 2 };
    int n = 5, k = 3;
    cout << minproduct(a, b, n, k)
        << endl;
    return 0;
}

(A) Solo la declaración 1
(B) Solo la declaración 2
(C) Tanto la declaración 1 como la 2
(D) Ni la declaración 1 ni la declaración 2

Respuesta: (C)
Explicación: Consulte: https://www.geeksforgeeks.org/minimum- sum-product-two-arrays/
Cuestionario de esta pregunta

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *