Ranya Taher نشر 20 نوفمبر 2022 أرسل تقرير نشر 20 نوفمبر 2022 برنامج يحسب مجموع الاعداد لمصفوفة جزئية sub array بطريقتين الطريقة العادية وبطريقة استخدام المصفوفة المساعدة Auxiliary Prefix sum Array تطلب من المستخدم طول المصفوفه تعبي المصفوفة بارقام عشوائية* تطب من المستخدم ايش من طريقه تطلب اول اندكس واخر اندكس تصلح الداله اطبع الناتج تعيد اكيد تطلب الطريقه وهكذا ركزوا انشاء المصفوفة والمصفوفة المساعده مرة وحده فقط الذي يتكرر هو اختيار الطريقه وتنفيذها وعرض الناتج *حدود الرقم العشوائي من ٠ الى ١٠٠٠ استخدم % 1000 عشان تقص الرقم؟ اقتباس
0 Kais Hasan نشر 20 نوفمبر 2022 أرسل تقرير نشر 20 نوفمبر 2022 من فضلك قومي بمحاولة حل التمرين و سنساعدك في حال وجود مشاكل، إعطاءك الحل مباشرة لن يساعد في تحسين مهاراتك في البرمجة. اقتباس
0 Ranya Taher نشر 20 نوفمبر 2022 الكاتب أرسل تقرير نشر 20 نوفمبر 2022 بتاريخ 10 دقائق مضت قال Kais Hasan: من فضلك قومي بمحاولة حل التمرين و سنساعدك في حال وجود مشاكل، إعطاءك الحل مباشرة لن يساعد في تحسين مهاراتك في البرمجة. #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int a[N]; int pf[N]; // Driver code int main() { int n = 6; int a[] = { 3, 6, 2, 8, 9, 2 }; pf[0] = a[0]; for (int i = 1; i < n; i++) { pf[i] = pf[i - 1] + a[i]; // cout<<pf[i]; } int q = 4; vector<vector<int> > query = { { 2, 3 }, { 4, 6 }, { 1, 5 }, { 3, 6 } }; for (int i = 0; i < q; i++) { int l = query[i][0], r = query[i][1]; if (r > n || l < 1) { cout << "Please input in range 1 to " << n << endl; continue; } if (l == 1) cout << pf[r - 1] << endl; else cout << pf[r - 1] - pf[l - 2] << endl; } return 0; } 1 اقتباس
0 Kais Hasan نشر 20 نوفمبر 2022 أرسل تقرير نشر 20 نوفمبر 2022 بتاريخ 2 دقائق مضت قال Ranya Taher: #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int a[N]; int pf[N]; // Driver code int main() { int n = 6; int a[] = { 3, 6, 2, 8, 9, 2 }; pf[0] = a[0]; for (int i = 1; i < n; i++) { pf[i] = pf[i - 1] + a[i]; // cout<<pf[i]; } int q = 4; vector<vector<int> > query = { { 2, 3 }, { 4, 6 }, { 1, 5 }, { 3, 6 } }; for (int i = 0; i < q; i++) { int l = query[i][0], r = query[i][1]; if (r > n || l < 1) { cout << "Please input in range 1 to " << n << endl; continue; } if (l == 1) cout << pf[r - 1] << endl; else cout << pf[r - 1] - pf[l - 2] << endl; } return 0; } نسخ الكود من مواقع أخرى ك geeks for geeks أيضاً لن يساعدك، حاولي فهم هذا الكود و كتابة الكود الخاص بالمسألة الأصلية لوحدك. اقتباس
0 Ranya Taher نشر 20 نوفمبر 2022 الكاتب أرسل تقرير نشر 20 نوفمبر 2022 بتاريخ 18 دقائق مضت قال Kais Hasan: نسخ الكود من مواقع أخرى ك geeks for geeks أيضاً لن يساعدك، حاولي فهم هذا الكود و كتابة الكود الخاص بالمسألة الأصلية لوحدك. من فضلك ابغى الاجابه الصحيحه لهذا السؤال عشان افهم لان قرأت اكثر من مصدر في الانترنت لكي افهم ولم افهم والسبب في اخطأ جسيميه في الاكواد البرمجيه لديهم اقتباس
0 Ranya Taher نشر 21 نوفمبر 2022 الكاتب أرسل تقرير نشر 21 نوفمبر 2022 (معدل) بتاريخ 20 ساعات قال Ranya Taher: #include <iostream> using namespace std; int randomNumber(int from, int to) { int random = rand() % (to - from + 1) + from; return random; } void fillArray(int arr[], int sizeArray) { for (int i = 0; i < sizeArray; i++) { arr[i] = randomNumber(1, 1000); } } int sumNormal(int a, int b, int arr[]) { int s = 0; for (int i = a; i <= b; i++) { s += arr[i]; } return s; } int auxiliary(int a, int b, int arr[], int arr2[], int sizeArray) { arr2[0] = arr[0]; int result = 0; for (int i = 1; i < sizeArray; i++) { arr2[i] = arr2[i - 1] + arr[i]; } return arr2 - arr2[a - 1];; } int main() { srand((unsigned)time(NULL)); int arr[1000], arr2[1000], arraySize; short choice, startIndex, endIndex; cout << "enter array size: "; cin >> arraySize; fillArray(arr, arraySize); do { cout << "enter 1 to use normal method, 2 to use Auxiliary prefix: "; cin >> choice; if (!(choice != 1 && choice != 2)) { cout << "enter start index: "; cin >> startIndex; cout << "enter end index: "; cin >> endIndex; switch (choice) { case 1: { cout << "normal method: " << sumNormal(startIndex, endIndex, arr) << endl; break; } case 2: { cout << "auxiliary method: " << auxiliary(startIndex, endIndex, arr, arr2, arraySize) << endl; } } } } while (!(choice != 1 && choice != 2)); return 0; } شكرا لعدم تعاونكم معنا بس نصيحه غيروا اسم الموقع حقكم لانه لايناسب تصرفاتكم👎🏻 تم التعديل في 21 نوفمبر 2022 بواسطة Ranya Taher اقتباس
السؤال
Ranya Taher
برنامج يحسب مجموع الاعداد لمصفوفة جزئية sub array
بطريقتين
الطريقة العادية
وبطريقة استخدام المصفوفة المساعدة Auxiliary Prefix sum Array
تطلب من المستخدم طول المصفوفه
تعبي المصفوفة بارقام عشوائية*
تطب من المستخدم ايش من طريقه
تطلب اول اندكس واخر اندكس
تصلح الداله
اطبع الناتج
تعيد اكيد تطلب الطريقه وهكذا
ركزوا انشاء المصفوفة والمصفوفة المساعده مرة وحده فقط
الذي يتكرر هو اختيار الطريقه وتنفيذها وعرض الناتج
*حدود الرقم العشوائي من ٠ الى ١٠٠٠
استخدم % 1000 عشان تقص الرقم؟
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.