Operasi Umum pada array
Termasuk bagian Dasar-Dasar dalam perjalanan C++ di Coddy. Pelajaran 66 dari 74.
Berikut beberapa operasi array yang umum:
- Temukan jumlah semua elemen dalam array:
int numbers[] = {1, 2, 3, 4, 5};
int sum = 0;
for (int number : numbers) {
sum += number;
}
std::cout << "Sum: " << sum;- Temukan rata-rata elemen dalam array:
int numbers[] = {1, 2, 3, 4, 5};
double sum = 0;
for (int number : numbers) {
sum += number;
}
double average = sum / std::size(numbers);
std::cout << "Average: " << average;- Temukan elemen maksimum dalam array:
int numbers[] = {1, 5, 2, 9, 3};
int max = numbers[0];
for (int i = 1; i < std::size(numbers); i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
std::cout << "Max: " << max;- Temukan elemen minimum dalam array:
int numbers[] = {1, 5, 2, 9, 3};
int min = numbers[0];
for (int i = 1; i < std::size(numbers); i++) {
if (numbers[i] < min) {
min = numbers[i];
}
}
std::cout << "Min: " << min;Tantangan
MudahBuat fungsi bernama calculateStats yang menerima array berisi bilangan double dan ukuran array sebagai input, lalu melakukan operasi berikut:
- Menghitung jumlah semua elemen dalam array.
- Menghitung rata-rata elemen dalam array.
- Mencari elemen maksimum dalam array.
- Mencari elemen minimum dalam array.
Fungsi harus mengembalikan array berisi bilangan double yang mencakup jumlah, rata-rata, nilai maksimum, dan nilai minimum, secara berurutan.
Catatan penting:
- Gunakan parameter
sizeuntuk mengendalikan perulanganmu: jangan gunakanstd::size(). - Untuk menginisialisasi
maxdanmin, mulai dengan nilaiarr[0]. Ini tetap berfungsi dengan benar meskipun array hanya berisi angka negatif. - Kode yang sudah ditulis sebelumnya dalam
main()sudah mengalokasikan array dinamis menggunakannewdan membebaskannya dengandelete[]. Kamu hanya perlu mengalokasikan array hasil di dalam fungsimu menggunakannew double[4]lalu mengembalikannya. Catatan: pointer dan memori dinamis dengannewakan dibahas secara mendalam di bagian selanjutnya. Di sini, kamu hanya perlu mengikuti polanew double[4]yang ditunjukkan.
Pendekatan yang disarankan:
- Inisialisasi
sum = 0,max = arr[0], danmin = arr[0]. - Lakukan perulangan dari
i = 0hinggai < size, akumulasikan jumlahnya dan perbarui max/min sesuai kebutuhan. - Hitung rata-rata sebagai
sum / size. - Alokasikan array baru dengan
new double[4], simpan keempat hasil secara berurutan, lalu kembalikan array tersebut.
Coba sendiri
#include <iostream>
double* calculateStats(double arr[], int size) {
// Kamu perlu menghitung 4 nilai sebelum menyimpannya di newArr
// Inisialisasi variabel sum (mulai dari 0), max, dan min (keduanya mulai dari arr[0])
// Gunakan for loop untuk menelusuri array
// Di dalam loop:
// - Tambahkan setiap elemen ke sum
// - Bandingkan setiap elemen dengan max dan perbarui max jika elemen lebih besar
// - Bandingkan setiap elemen dengan min dan perbarui min jika elemen lebih kecil
// Hitung average = sum / size (setelah loop)
double* newArr = new double[4];
newArr[0] = sum;
newArr[1] = average;
newArr[2] = max;
newArr[3] = min;
return newArr;
}
int main() {
int n;
std::cin >> n;
std::cin.ignore();
double arr[n];
for (int i = 0; i < n; i++) {
double val;
std::cin >> val;
arr[i] = val;
}
double* stats = calculateStats(arr, n);
std::cout << "Sum: " << stats[0] << std::endl;
std::cout << "Average: " << stats[1] << std::endl;
std::cout << "Maximum: " << stats[2] << std::endl;
std::cout << "Minimum: " << stats[3] << std::endl;
delete[] stats;
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloIncrement/DecrementPost Increment/DecrementPintasan AritmetikaOperator PerbandinganPerbandingan String7Dasar-Dasar Input dan Output
Pernyataan coutPernyataan cinInput stringUlasan: Hingga 120Ulasan: Benar atau Salah3Variabel Bagian 2
Deklarasi TipeKonvensi PenamaanUlasan: Inisialisasi VariabelKonversi Tipe Bagian 1Konversi Tipe Bagian 26Pengambilan Keputusan
Pernyataan ifIf - ElsePernyataan switchOperator PercabanganRingkasan - If ElseIf - Else BersarangLatihan sendiri: Compiler C++ online