Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

تحديات برمجيةالتحدي الثالث - حل التمرين الثاني بلغة C++

المطلوب

قم بتعريف دالة إسمها CountOccurrence, مهمتها البحث في مصفوفة أحادية ( تتألف من أعداد صحيحة ) و طباعة كم مرة تكررت كل قيمة موجودة فيها.
بعدها قم بتجربة هذه الدالة في البرنامج.

مساعدة: يجب تمرير حجم المصفوفة أيضاً للدالة لأنه لا يمكن معرفته بالطرق العادية من داخل الدالة.


الحل بلغة C++

#include <iostream>
// هنا قمنا بتعريف الدالة
void countOccurrence(int arr[], int arrLength)
{
int counter = 0;
for (int i = 0; i < arrLength; i++)
{
if (arr[i] == 0)
{
counter++;
}
}
if (counter > 0)
{
std::cout << "[0] is repeated " << counter << " time(s)\n";
}
for (int i = 0; i < arrLength; i++)
{
counter = 1;
if (arr[i] != 0)
{
for (int j = i + 1; j < arrLength; j++)
{
if (arr[i] == arr[j])
{
counter++;
arr[j] = 0;
}
}
std::cout << "[" << arr[i] << "] is repeated " << counter << " time(s)\n";
}
}
}
int main() {
// هنا قمنا بتجهيز القيم التي سنمررها للدالة
int array[] = { 0, 4, 2, 3, 2, 4, 3, 5, 2, 0, 1, 4, 2 };
int arrayLength = sizeof(array) / sizeof(array[0]);
// هنا قمنا بتجربة الدالة
countOccurrence(array, arrayLength);
char end; std::cin >> end;
return 0;
}
#include <iostream> // هنا قمنا بتعريف الدالة void countOccurrence(int arr[], int arrLength) { int counter = 0; for (int i = 0; i < arrLength; i++) { if (arr[i] == 0) { counter++; } } if (counter > 0) { std::cout << "[0] is repeated " << counter << " time(s)\n"; } for (int i = 0; i < arrLength; i++) { counter = 1; if (arr[i] != 0) { for (int j = i + 1; j < arrLength; j++) { if (arr[i] == arr[j]) { counter++; arr[j] = 0; } } std::cout << "[" << arr[i] << "] is repeated " << counter << " time(s)\n"; } } } int main() { // هنا قمنا بتجهيز القيم التي سنمررها للدالة int array[] = { 0, 4, 2, 3, 2, 4, 3, 5, 2, 0, 1, 4, 2 }; int arrayLength = sizeof(array) / sizeof(array[0]); // هنا قمنا بتجربة الدالة countOccurrence(array, arrayLength); char end; std::cin >> end; return 0; }

سنحصل على النتيجة التالية عند التشغيل.

[0] is repeated 2 time(s)
[4] is repeated 3 time(s)
[2] is repeated 4 time(s)
[3] is repeated 2 time(s)
[5] is repeated 1 time(s)
[1] is repeated 1 time(s)