اذهب إلى المحتوى

سمير عبود

الأعضاء
  • المساهمات

    3491
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    34

كل منشورات العضو سمير عبود

  1. مرحباً .. يُمكنك عمل هذا البرنامج من خلال حلقتين for اي (nested for loop) بهذا الشكل: l = ['p', 'q', 'r'] output = [] n = 4 for x in range(1, n + 1): for e in l: output.append(e+str(x)); print(output) لتجربة البرنامج : إضغط هنا بالتوفيق
  2. مرحباً .. هناك عدة طرق للتحقق من أن جميع عناصر قائمة موجودة بقائمة أخرى في لغة بايثون من بينها إستعمال التابع issubset بهذا الشكل: lst1 = [3,5,6,8,7] lst2 = [3,6] print(set(lst2).issubset(set(lst1))) يُمكنك التجربة من خلال الرابط التالي:إضغط هنا و للتأكد من تواجد عنصر محدد موجود ضمن عناصر قائمة نستعمل ال operator التالي: in بهذا الشكل: lst2 = [3,6] print(3 in lst2) بالتوفيق
  3. مرحباً ... الرصيد المُتاح هو الرصيد الذي يُمكنك إستخدامه لفتح مشاريع جديدة في مُستقل أما الرصيد القابل السحب فهو المبلغ المتبقي من الأرباح التي حققتها في مستقل و يمكنك سحبها . بالتوفيق
  4. مرحباً .. إضافة إلى ما قالته الأخت يُمنى أريد أن أقدم لك نصيحة و هي أن التعلم ساعة أو ساعة و نصف يومياً أحسن من أنك تتعلم 5 ساعات أو أكثر بشكل مستمر في يوم واحد ثم تنقطع عن التعلم لمدة طويلة ثم تعود . يعني الإستمرارية في التعلم أفضل. إجعل التعلم جزء من الروتين اليومي الخاص بك و لا تُفرط في التعلم حتى تصل إلى مرحلة الملل. بالتوفيق
  5. مرحباً عصام .. أنا لم أفهم ماذا تقصد بالضبط ؟ عن أي كورس تتحدث ؟ إذا كنت تتحدث عن دورة تطوير تطبيقات الويب باستخدام لغة PHP فستجد كافة المسارات التي ستتطرق لها الدورة و التي تتمحور حولها في قسم مسارات الدورة و هي لا تشمل لغة ال assembly لأن كلاهما شيء مختلف عن الآخر فلغة ال PHP هي لغة تم تصميمها أساساً لتعمل في جهة الخادم و تم إنشاؤها لتُساعد في تطوير الويب و أكثر ما يُميزها دمج شيفرات ال Html معها. أما لغة التجميع ( Assembly ) فهي لغة قريبة من لغة الآلة بالمقابل قامت هذه اللغة بتسهيل عملية البرمجة على المبرمجين و ذلك لصعوبة الكتابة و تذكر أوامر لغة الآلة و تُعتبر لغة التجميع لغة منخفضة المُستوى و يتطلب فهم هذه اللغة معرفة شاملة عن وحدة التحكم المركزية و معالج الحاسب بالإضافة إلى الذاكرة و ذلك لأنها أقرب لغة للحاسب .
  6. مرحباً .. يُمكن عمل البرنامج بالشكل التالي: #include <iostream> using namespace std; /* * دالة لحساب مجموع مضاعفات عدد ما * num => هو العدد المطلوب حساب مضاعفاته * limit => هو الحد الأعلى */ int sumOfMultiples(int num, int limit) { int sum = 0; for (int i = 1; i <= limit ; ++i) { // حلقة فور من 1 إلى الحد الأعلى if (i % num == 0) // إذا كان العدد الحالي يقبل القسم على العدد المطلوب sum += i; // إضافة العدد إلى المجموع } return sum; // إرجاع قيمة المجموع } /* * دالة لحساب عدد مضاعفات عدد ما * num => هو العدد المطلوب حساب عدد مضاعفاته * limit => هو الحد الأعلى */ int countOfMultiples(int num, int limit) { int count = 0; for (int i = 1; i <= limit ; ++i) { if (i % num == 0) // إذا كان العدد الحالي يقبل القسم على العدد المطلوب count++; // نضيف 1 إلى عدد المضاعفات } return count; } /* * دالة لحساب معدل مضاعفات عدد ما * num => هو العدد المطلوب حساب معدل مضاعفاته * limit => هو الحد الأعلى */ float avgOfMultiples(int num, int limit) { return (float) sumOfMultiples(num, limit) / countOfMultiples(num, limit); } int main() { cout << "Sum of multiples of 3 <= 100: " << sumOfMultiples(3,100); // إستعمال العدد 3 و الحد الأعلى 100 cout << "\nCount of multiples of 3 <= 100: " << countOfMultiples(3,100); cout << "\nAvg of multiples of 3 <= 100: " << avgOfMultiples(3,100); return 0; } يُمكنك إستبدال المعاملات 3 و 100 إلى أي أعداد أخرى و ستجد نتيجة مُغايرة و هذه نتيجة البرنامج: يُمكنك تجربة البرنامج من خلال الرابط التالي: إضغط هنا بالتوفيق
  7. مرحباً .. يُمكنك عمل المطلوب من خلال البرنامج التالي: #include <iostream> using namespace std; // تعريف بنية العقدة التي تتكون منها القائمة المترابطة struct node { int data; // البيانات عبارة عن أعداد node *next; // مؤشر على العقدة القادمة }; // دالة مساعدة لطباعة البيانات بشكل معاكس إنطلاقا من عقدة ما void printReverse(node *head) { // شرط التوقف if (head == NULL) return; printReverse(head->next); // إستعمال الطريقة التعاودية cout << head->data << " "; } // تعريف صنف القائمة المترابطة class LinkedList { private: node *head,*tail; public: LinkedList() // الدالة البانية { head = NULL; tail = NULL; } void addNode(int n) // دالة لإضافة عقدة جديدة للقائمة { node *tmp = new node; tmp->data = n; tmp->next = NULL; if(head == NULL) { head = tmp; tail = tmp; } else { tail->next = tmp; tail = tail->next; } } void printList() // طباعة بيانات القائمة المترابطة { node *n = this->head; while (n != NULL) { cout << n->data << " "; n = n->next; } } void printReverseList() // طباعة بيانات القائمة المترابطة بشكل عكسي { printReverse(this->head); // إستعمال الدالة المساعدة السابقة مع تمرير رأس القائمة لها } void fillList(int total) // ملأ القائمة بعدد محدد من العناصر { int data; for (int i = 0; i < total; ++i) { cout << "data " << i << " = " << endl; cin >> data; addNode(data); // إستعمال دالة الإضافة } } }; int main() { LinkedList l; // تعريف قائمة مترابطة l.fillList(6); // ملأ القائمة ب 6 عناصر يُمكنك تغيير العدد حسب ما تريد l.printList(); // طباعة عناصر القائمة بشكلها الطبيعي cout << endl; l.printReverseList(); // طباعة عناصر القائمة بالشكل العكسي return 0; } و هذه نتيجة لتجربة البرنامج: يُمكنك تجربة البرنامج من خلال الرابط التالي: إضغط هنا للإطلاع على تفاصيل أكثر حول بنى أو هياكل المُعطيات أدعوك إلى قراءة توثيق موسوعة حسوب حول الموضوع: القوائم المترابطة توثيق موسوعة حسوب و بنى المعطيات ( Data Structure ) توثيق موسوعة حسوب بالتوفيق
  8. مرحباً ... حتى تحافظ المنصة على حقوق الطرفين تمنع التواصل خارج المنصة فإذا ما حدث خلاف بين الطرفين يُمكن الرجوع إلى صفحة نقاش المشروع و تسوية الخلاف. لذلك تجنب قدر المستطاع التواصل مع العميل خارج المنصة حتى تضمن حقوقك
  9. لاحظ أنك قمت بكتابة الدالة average داخل دالة main و هذا خطأ. قم بإضافة الإقتران average مباشرة في الكلاس MyCalculator مثل ماهو موضح في الأكواد السابقة
  10. مرحباً ... المطلوب فقط حساب معدل القيم الخمسة لذلك يمكنك عمل ذلك من خلال الأكواد التالية public class MyCalculator { int input1 = 10; int input2 = 20; int input3 = 30; int input4 = 40; int input5 = 50; public float average() { // TODO: write java code to calculate the average for all input variables float avg = (input1 + input2 + input3 + input4 + input5) / 5; return avg; } } بالتوفيق
  11. مرحباً ... إستدعاء الدالة ضمن الكلاس نفسه في دالة أخرى يكون ببساطة بالشكل التالي: لغة جافا مثلاً: class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } // في هذه الدالة قمنا بإستخدام الدوال getName و getAge public String toString() { return "Person name: " + this.getName() + ", age => " + this.getAge(); } } public class Main { public static void main(String[] args) { Person p = new Person("Samir", 25); System.out.println(p); // سيتم إستدعاء الدالة toString } } يُمكنك التجربة من خلال هذا الرابط لغة c++ مثلاً: #include <iostream> using namespace std; class Person { private: string name; int age; public: Person(string name, int age) { this->name = name; this->age = age; } const string &getName() const { return name; } void setName(const string &name) { Person::name = name; } int getAge() const { return age; } void setAge(int age) { Person::age = age; } // في هذه الدالة قمنا بإستخدام الدوال getName و getAge void putData() { cout << "Person Name: " << this->getName() << ", age => : " << this->getAge() << endl; } }; int main() { Person *p = new Person("Samir", 25); p->putData(); return 0; } يُمكنك التجربة من خلال هذا الرابط لغة جافاسكربت مثلاً: class Rectangle { constructor(height, width) { this.height = height; this.width = width; } // Getter get area() { return this.calcArea(); // إستدعاء التابع calcArea } // Method calcArea() { return this.height * this.width; } } const rec = new Rectangle(5, 10); document.querySelector('p').innerText = rec.area; // وضع مساحة المستطيل في الفقرة يُمكنك تجربة المثال من خلال هذا الرابط بالتوفيق
  12. أقصد الأكواد التي يتم تنفيذها إلى أن يحدث الخطأ حتى نعرف مكان وجوده .
  13. مرحباً أحمد ... هل بإمكانك تجربة الخطوات إلى أن يحدث الخطأ و مشاركة الكود الذي يتم تنفيذه في كل مرحلة .
  14. مرحباً... يُمكن عمل البرنامج بهذه الطريقة ستجد الشرح بالتعليقات: #include <iostream> #include <vector> using namespace std; template <typename T> // من أجل إستقبال أي نوع مصفوفة سواء نصية أو عددية أو أي نوع // دالة مُساعدة لقراءة عناصر مصفوفة void readArray(T *arr, int n) { for (int i = 0; i < n; ++i) { cout << "Enter El[" << i << "]: " << endl; cin >> arr[i]; } } template <typename T> // من أجل إستقبال أي نوع مصفوفة سواء نصية أو عددية أو أي نوع // دالة مُساعدة لطباعة عناصر مصفوفة void printArray(T *arr, int n) { cout << "["; for (int i = 0; i < n - 1; ++i) { cout << arr[i] << ", "; } cout << arr[n-1] << "]"; } template <typename T> // من أجل إستقبال أي نوع مصفوفة سواء نصية أو عددية أو أي نوع // دالة البحث في مصفوفة من أي نوع // تستقبل مصفوفة من النوع T و تبحث عن معلومة من نوع T // ترجع الدالة vector يضم جميع أماكن المعلومة في المصفوفة std::vector<int> search(T *arr, int n, T search) { std::vector<int> result; for (int i = 0; i < n; ++i) { // اللف حول عناصر المصفوفة if (arr[i] == search) { // في حالة تطابق العنصر الحالي من المصفوفة مع المعلومة التي نبحث عنها result.push_back(i); // نقوم بتخزين الموضع في ال vector } } return result; // نرجع ال vector } int main() { /* المثال الأول حيث عناصر المصفوفة عبارة عن أعداد */ int n_int; // تعريف متغير عدد لتخزين طول المصفوفة العددية cout << "Enter size of array: " << endl; // طباعة عبارة للمًستخدم تُعلمه بإدخال طول المصفوفة العددية cin >> n_int; // قراءة مُدخلات المُستخدم int array[n_int]; // تعريف مصفوفة عددية readArray(array, n_int); // قراءة عناصر المصفوفة العددية printArray(array, n_int); // طباعة عناصر المصفوفة التي أدخلها المًستخدم int s_int; // تعريف مُتغير لتخزين العدد الذي نريد البحث عنه cout << "\nEnter search: " << endl; // طباعة عبارة للمًستخدم تُعلمه بإدخال العدد الذي يريد البحث عنه في المصفوفة cin >> s_int; // قراءة العدد الذي سنبحث عنه std::vector<int> result = search(array, n_int, s_int); // إستدعاء دالة البحث و تمرير المُعاملات المطلوبة لها و تخزين الراجع cout << "\nresult: "; // طباعة عبارة لنتائج البحث printArray(&result[0], result.size()); // طباعة عناصر مصفوفة البحث /* * =============================================================================== * */ /* المثال الثاني حيث عناصر المصفوفة عبارة عن سلاسل نصية */ int n_string; // تعريف متغير عدد لتخزين طول المصفوفة النصية cout << "\nEnter size of array: " << endl; // طباعة عبارة للمًستخدم تُعلمه بإدخال طول المصفوفة النصية cin >> n_string; // قراءة مُدخلات المُستخدم string array_string[n_string]; // تعريف مصفوفة نصية readArray(array_string, n_string); // قراءة عناصر المصفوفة النصية printArray(array_string, n_string); // طباعة عناصر المصفوفة التي أدخلها المًستخدم string s_string; // تعريف مُتغير لتخزين السلسلة النصية الذي نريد البحث عنها cout << "\nEnter search: " << endl; // طباعة عبارة للمًستخدم تُعلمه بإدخال السلسلة النصية الذي يريد البحث عنها في المصفوفة cin >> s_string; // قراءة السلسلة النصية الذي سنبحث عنها std::vector<int> result_string = search(array_string, n_string, s_string); // إستدعاء دالة البحث و تمرير المُعاملات المطلوبة لها و تخزين الراجع cout << "\nresult: "; // طباعة عبارة لنتائج البحث printArray(&result_string[0], result_string.size()); // طباعة عناصر مصفوفة البحث } تم التجربة على مثالين في حالة مصفوفة عددية: و في حالة مصفوفة سلاسل نصية: تم إستخدام مفهوم ال Generics لجعل الدالة search تقبل أي نوع من أنواع البيانات. يُمكنك تجربة البرنامج من خلال: الرابط التالي بالتوفيق
  15. مرحباً مروان .. للحماية من ثغرة SQL injection يُنصح دائما بإستعمال prepared statment و parameterized queries فمثلا إن كنت تستخدم PDO تستعمل الشيفرة التالية: <?php $stmt = $pdo->prepare('SELECT * FROM table_name WHERE name = :name'); $stmt->execute([ 'name' => $name ]); و إن كنت تستخدم MySQLi تستعمل الشيفرة التالية: <?php $stmt = $dbConnection->prepare('SELECT * FROM table_name WHERE name = ?'); $stmt->bind_param('s', $name); // 's' من أجل تعيين نوع المتغير => string $stmt->execute(); و للحماية من xss أي Cross-Site Scripting يُنصح بإستعمال الفلترة و التعقيم للبيانات التي تأتي من المُستخدم قبل تخزينها في قاعدة البيانات هناك قاعدة تقول لا تثق ابدا ً بمدخلات المستخدم موضوع الحماية كبير جداً و إذا كنت تستخدم pure php بدون اي إطار عمل فسيتوجب عليك البحث عن الثغرات المشهورة و كيفية تجاوزها و تطبيق الحلول أما إن كنت تستخدم إطار عمل فستجد أنه قد تم توفير حلول لمُعظم الثغرات المشهورة من طرف مطورين الإطار بالتوفيق
  16. مرحباً خليل .. هناك العديد من الخيارات لبرمجة تطبيقات أندرويد أو تطبيقات موبايل بشكل عام: بناء تطبيقات أصيلة ( native ) بإستخدام اللغات الأصلية فمثلا للأندرويد جافا أو كوتلن و لل iOS سويفت أو أوبجكتيف سي بناء تطبيقات أصيلة بإستعمال أحد الأطر او ( frameworks ) مثل : React Native أو Flutter أو Xamarin بحيث ستقوم بكتابة الأكواد باللغة التي بُني عليها الإطار فمثلا React Native ستستخدم JavaScript و Futter لغة Dart و Xamarin لغة c# بحيث عند عملية البناء ستستخدم أدوات المنصة لتصدير التطبيق و سيتم تحويل الأكواد إلى أكواد أصيلة ( نتيف ) و لهذا يُسمى هذا النوع من التطبيقات ب ( compiled app ) و أهم ميزة لهذا النوع هو الحصول على تطبيقات بنفس أداء التطبيقات الأصيلة تقريباً و تكون متعددة المنصة أي للأندرويد و ال iOS أي cross platform إنطلاقا من كتابة كود واحد بناء تطبيقات هجينة بإستخدام منصة Cordova أو Ionic و هذه المنصات هي منصات cross platform أي ستقوم بكتابة كود واحد و هذا الكود يعمل على أنظمة متعددة سواء أندرويد أو iOS . لكن التطبيقات التي يتم بناؤها تكون عبارة عن تطبيق ويب أي أن التطبيق في الأخير سيعمل على الهاتف و كأنه تطبيق هاتف عادي لكن في الحقيقة هو عبارة عن صفحات ويب أو تطبيق ويب يعمل على المتصفح . و إن صح التعبير فمنصة cordova تقوم بتغليف تطبيق الويب بطبقة تُسمى (WebView) حتى يعمل على الهاتف و كأنه تطبيق عادي. العيب في هذه التطبيقات أنها أبطأ مقارنةً بالنوعين السابقين خصوصا في التطبيقات التي تحتاج إلى التعامل مع موارد و مُحسسات الهاتف لكن ما يٌميزها أنك لن تحتاج إلى تعلم لغات أخرى فقط html5 و CSS و جافاسكربت بالإضافة إلى كيفية التعامل مع منصة Cordova أنصحك بمشاهدة هذا المقطع لتعرف الفرق بين التطبيقات الأصيلة و التطبيقات الهجينة في حالتك يُمكنك الإتجاه صوب التطبيقات الهجينة لكن تحتاج تعلم منصة cordova و ستستخدم فقط اللغات التي بحوزتك html css javascript لبناء تطبيق موبايل و تحتاج إلى لغة بايثون لبناء Api أو web service الذي من خلاله تستطيع التواصل مع قاعدة البيانات أيضا يُمكنك التوجه نحو تعلم إطار react native فهو مبني بلغة جافاسكربت و عند بنائك لتطبيقات جوال بإستعمال هذا الإطار ستحتاج لغة جافاسكربت أيضا يوجد إطار native script فهو إطار مبني بلغة جافاسكربت يساعدك في بناء تطبيقات جوال. بالتوفيق
  17. مرحباً .. مصطلح fork هو فرع من الأصل و يعني أخذ نُسخة من مشروع أو كود برمجي و التعديل عليه بما يُناسب إحتياجاتك. جميع المواقع التي توفر خاصية نشر أكواد برمجية أو مشاريع برمجية تُوفر أيضا هذه الميزة أي fork بحيث يُمكن للمطورين نسخ هذه الأكواد بكبسة زر دون الحاجة إلى النسخ اليدوي و البدأ في التعديل عليها كإضافة ميزات جديدة أو تعديل ميزات موجودة في الكود المصدري شرط أن يكون المشروع عاماً و ليس خاصاً أي مُتاح للجميع . أما ال fork في أنظمة التشغيل فتُستعمل لإنشاء نُسخة من البرنامج قيد التنفيذ أو التشغيل او ما يُسمى بِ ( proccess ) بحيث يُصبح لدينا 2 proccess الأول هو الأب و الثاني هو الإبن و يتم تنفيذهما معاً. لغة c توفر دالة fork يُمكن إستعمالها في إنشاء proccess جديد و هذا مثال بسيط لإستعمالها: #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main() { fork(); // هنا تم إنشاء نُسخة من proccess قيد التنفيذ printf("مرحباً!\n"); // طباعة كلمة مرحباً return 0; // إنهاء البرنامج } و هذا البرنامج سيطبع مرحباً مرتين المرة الأولى عند تنفيذ ال proccess الأب و المرة الثانية للإبن يُمكنك تجربة هذا المثال من خلال هذا: الرابط و للدالة fork أهمية كبيرة في نُظم التشغيل و إنشاء العمليات بالتوفيق
  18. مرحباً ... إذا كنت تريد حفظ نتيجة إستعلام في ملف txt يُمكنك إستعمال الدالة التالية : <?php function save_result($result, $file_path) { $json = json_encode($result); // تحويل نتيجة الإستعلام إلى صيغة json $file = fopen($file_path, 'w'); // فتح الملف بصيغة w و التي تعني أننا نريد الكتابة فيه fwrite($file, $json); // كتابة السجلات في الملف fclose($file); // إغلاق الملف } و يُمكنك أيضاً إستعمال هذه الدالة لإسترجاع السجلات المُخزنة في الملف : <?php function get_result($file_path) { $file = fopen($file_path, 'r'); // فتح الملف للقراءة $result = json_decode(fread($file, filesize($file_path))); // عمل decode لنتيجة القراءة حتى يتم تحويل من json إلى associative array fclose($file); // إغلاق الملف return $result; } و في الملف المُرفق مثال عن إستعمال الدالتين : read_write_file.zip بالتوفيق
  19. مرحباً @بدر الزهراني3 ... يُمكنك التواصل مع الدعم الفني من خلال هذا الرابط : إضغط هنا و بعدها إفتح تذكرة للمشكلة و سيتم التواصل معك مباشرة و حل المشكلة في أقرب وقت. بالتوفيق
  20. أظن أن الإستعلام سيكون نفسه فقط ستُغير طريقة العرض و لنفرض أنك قمت مسبقاً بتخزين لغة المُستخدم في متغير بهذا الشكل: String lang = "...."; // ar or en و في الحلقة التي تقوم بها بعد جلب البيانات ستقوم بالتالي: String imageUrl = hit.getString("name_" + lang); و بهذا الشكل سيتم عرض البيانات حسب لغة المُستخدم التي يتصفح بها التطبيق بالتوفيق
  21. مرحباً مروان ... الفكرة أنك تقوم بتخزين الخانة التي تريد ترجمتها بأكثر من لغة في قاعدة البيانات مثلا name_ar و name_en بحيث في الخانة name_ar تُخزن الإسم باللغة العربية و في الخانة name_en تُخزن الإسم باللغة الإنجليزية و عندما تريد أن تعرض البيانات يُمكنك عرض الإسم حسب لغة المُستخدم . الفكرة الثانية أنك مثلا تريد عمل ترجمة لجدول users فتقوم بجعل كافة البيانات التي تحتمل ترجمة في جدول ثاني و تُسميه user_translations بحيث الجدول الأول يحتوي على البيانات التي لا تحتاج ترجمة و الجدول الثاني يحتوي على البيانات التي تحتاج ترجمة بحيث تربط الجدولين معاً بعلاقة 1 لأكثر يعني صف واحد من جدول users يكون له صف أو أكثر من جدول user_translations مثلا نريد ترجمة خانة إسمها name سيكون جدول user_translations يحتوي على الخانات التالية: id user_id name locale الخانة locale سنُخزن فيها لغة الصف فمثلا لو كنا نريد اللغتين العربية و الإنجليزية سيكون لكل صف من الجدول الأساسي صفين من الجدول الثاني صف يتم تخزين فيه الإسم باللغة العربية و تكون الخانة locale تحتوي على ar و صف يتم تخزين فيه الإسم باللغة الإنجليزية و تكون الخانة locale تحتوي على en بالتوفيق
  22. تواصلي معهم بشكل مُستمر و أخبريهم أن الحساب لم يستقبل أية أموال منذ إنشائه فأين ذهبت أرباحي و أنك قد تواصلتِ مع دعم باي بال و قالو أن المُشكلة ليست من طرفهم ( هذا إن كان الحساب لم يستقبل أية رصيد بعد ) عليك بالصبر و راحة البال في هذه الأوضاع بالتوفيق
  23. لا أدري كيف تعمل منصة منجز لكن يُمكنكِ التواصل مع الدعم الفني بها و توضيح المُشكلة لهم جيداً: أن حساب الباي بال الخاص بك لم يكن مُفعل و لم يتم إرسال الأموال و لم يتم إستقبال أية أموال على الحساب المُهم هو شرح المُشكلة جيداً لهم و الإستفسار عن ماهي الإجراءات في هذه الحالة و سيرُدون عليك
  24. مرحباً ... أنا لا أدري ما المُشكلة التي تواجهينها بالضبط لكن إن كان حساب الباي بال الخاص بك غير مُفعل و قمتِ بإرسال أموال إليه فهذه الأموال لن يتم إستقبالها و إذا ضاعت فباي بال لا يتحمل المسؤولية في هذه الحالة و أظن أنها ستعود إلى حساب المُرسل . سبق و أن حدث لي مُشكل و هو أنني أردت إرسال أرباحي إلى حساب باي بال غير مُفعل لكن العملية رُفضت غير أن الأموال لم تضيع و تم إعادتها إلى حسابي على منصة مستقل و بعد تفعيل حساب الباي بال أعدت المحاولة لكن العملية كانت تفشل كل مرة . تواصلت بعدها مع الدعم الفني لمستقل و أخبروني أن المُشكلة ليست من طرفهم و قالو بأن أتواصل مع الدعم الفني لباي بال و بعد تواصلي مع الدعم الفني لباي بال تم حل المُشكلة و تم إرسال الأرباح بنجاح بعدها ولم تحدث معي أي مُشكلة أخرى . الجيد أن الأرباح لم تضيع و كانت كل مرة تفشل العملية ترجع إلى حسابي على منصة مستقل. أيضاً حل المُشكلة إستغرق حوالي 5 أيام . عليك بالصبر في هذه الحالات. قد يتأخر الرد أحيانا من الدعم الفني لكنهم يردون في أغلب الأحيان بالتوفيق
  25. مرحبا عباس ... يُمكنك كتابة البرنامج بلغة c++ بهذا الشكل : #include <iostream> using namespace std; // دالة لقراءة عناصر مصفوفة من المُستخدم void readArray(int arr[], int n) { for (int i = 0; i < n; ++i) { cout << "Enter El[" << i << "]: " << endl; cin >> arr[i]; } } // دالة لطباعة عناصر مصفوفة void printArray(int arr[], int n) { for (int i = 0; i < n; ++i) { printf("%d ", arr[i]); } } // دالة لجمع عناصر مصفوفة عددية int sum(int arr[], int n) { int sum = 0; for (int i = 0; i < n; ++i) { sum += arr[i]; } return sum; } // دالة لحساب معدل عناصر مصفوفة عددية float avg(int arr[], int n) { return (float) sum(arr, n) / n; } int main() { // تعريف متغير سنُخزن فيه طول المصفوفة int n; cout << "Enter n: " << endl; // طباعة رسالة للمستخدم تخبره بإدخال طول المصفوفة cin >> n; // تخزين العدد المُدخل من طرف المُستخدم في المتغير n int array[n]; // تعريف مصفوفة عددية طولها هو العدد الذي أدخله المُستخدم readArray(array, n); // قراءة عناصر المصفوفة printArray(array, n); // طباعة عناصر المصفوفة cout << "\nSum = " << sum(array, n) << endl; // طباعة المجموع cout << "Moy = " << avg(array, n); // طباعة المُعدل } يُمكنك تجربة البرنامج من خلال هذا الرابط بالتوفيق
×
×
  • أضف...