Men-debug Paritas Jumlah

Men-debug kode C++ yang diberikan.

Anda dapat membuat kueri model secara langsung dan menguji hasil yang tampak saat menggunakan parameter value yang berbeda dengan konsol Cloud, atau dengan memanggil Vertex AI API secara langsung.

Perintah Freeform

Men-debug kode:

#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);
}

Respons

#include <iostream>
#include <exception>

using namespace std;

void check_sum_parity(int* arr, int arrayLength) {
int sum_of_numbers = 0; // 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;
}
else {
cout << "Sum is odd." << endl;
}
}

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

Penjelasan perbaikan:

Kode asli memiliki masalah dengan variabel sum_of_numbers. Protokol tersebut digunakan tanpa diinisialisasi, yang menyebabkan perilaku tidak terdefinisi.

Perbaikannya mudah: kita melakukan inisialisasi sum_of_numbers ke 0 di awal fungsi check_sum_parity. Cara ini memastikan bahwa variabel memiliki nilai yang ditentukan sebelum digunakan di dalam loop.

Berikut ini perincian kode yang sudah dikoreksi:

  1. int sum_of_numbers = 0;: Baris ini melakukan inisialisasi variabel sum_of_numbers ke 0.
  2. for (int i = 0; i < arrayLength; i++) { sum_of_numbers += arr[i]; }: Loop ini melakukan iterasi di seluruh array dan menambahkan setiap elemen ke variabel sum_of_numbers.
  3. if (sum_of_numbers % 2 == 0) { ... } else { ... }: Pernyataan kondisional ini memeriksa apakah sum_of_numbers genap atau ganjil dan mencetak pesan yang sesuai.

Sekarang kode tersebut akan menghitung jumlah elemen array dengan benar dan menentukan apakah jumlahnya genap atau ganjil.

Model: gemini-1.5-flash-001
Suhu: 1
Token output maks: 8192
TopK: 40
TopP: 0,95