Paridade da soma da verificação de depuração

Depurar o código C++ fornecido.

É possível consultar um modelo diretamente e testar os resultados retornados ao usar diferentes valores de parâmetros com o console do Cloud ou ao chamar a API Vertex AI diretamente.

Comando Formato livre

Depure o código:

    #include <iostream>
    #include <exception>


using namespace std;

void check_sum_parity(int* arr, int arrayLength) {
    for (int i = 0; i < arrayLength; i++) {
        sum_of_numbers += arr[i];
    }
    if (sum_of_numbers % 2 == 0) {
        cout << "Sum is odd." << endl;
    }
    else {
        cout << "Sum is even." << endl;
    }
}

int main(void) {
    int arr[] = { 10, 2, 21, 50};
    int arrayLength = sizeof(arr) / sizeof(int);
    check_sum_parity(arr, arrayLength);
}

Resposta

Como depurar o código

O código fornecido tem alguns problemas:

1. Variável não declarada:

  • A variável sum_of_numbers é usada na função check_sum_parity, mas não é declarada nem inicializada. Isso causará um erro de compilação.

2: Mensagem de saída incorreta:

  • As mensagens de saída estão trocadas. O código mostra "Sum is odd" quando a soma é par e vice-versa.

Este é o código corrigido:


#include <iostream>

using namespace std;

void check_sum_parity(int* arr, int arrayLength) {
int sum_of_numbers = 0; // Declare and initialize sum_of_numbers
for (int i = 0; i < arrayLength; i++) {
sum_of_numbers += arr[i];
}
if (sum_of_numbers % 2 == 0) {
cout << "Sum is even." << endl; // Correct output message
} else {
cout << "Sum is odd." << endl; // Correct output message
}
}

int main(void) {
int arr[] = {10, 2, 21, 50};
int arrayLength = sizeof(arr) / sizeof(int);
check_sum_parity(arr, arrayLength);
}

Explicação sobre as mudanças:

  1. Declaração de variável: adicionamos int sum_of_numbers = 0; no início da função check_sum_parity para declarar e inicializar a variável antes de usá-la.
  2. Mensagens de saída: trocamos as mensagens de saída nos blocos if e else para garantir que a mensagem correta seja mostrada com base na paridade da soma.
Modelo: gemini-1.5-pro-preview-0409
Temperatura: 1
Máximo de tokens de saída: 8192
TopK: 40
TopP: 0,95