Men-debug Paritas Jumlah

Men-debug kode C++ yang diberikan.

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

Perintah Freeform

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 mengalami masalah dengan variabel sum_of_numbers. Instance tersebut digunakan tanpa diinisialisasi, sehingga menyebabkan perilaku yang tidak ditentukan.

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

Berikut rincian kode yang telah diperbaiki:

  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 melalui 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