عند القيام ببرمجة معقدة عدة مرات ، يحتاج الشخص لنسخ مصفوفة أو لإنشاء مصفوفة جديدة مع كل شيء تقريبًا كما هو مستخدم في المصفوفة السابقة ، يمكن القيام بذلك يدويًا ولكنها عملية تستغرق وقتًا طويلاً. لذلك ، إذا كنت تبحث عن وظيفة يمكنها القيام بمهمة النسخ نيابة عنك ، فاتبع إرشادات هذه المقالة.
هل توجد وظيفة نسخ في C ++ لنسخ صفيف
نعم، لدى C ++ وظيفة لنسخ مصفوفة ويمكن استخدامها في أي كود C ++. لكن تذكر أنه لاستخدام وظيفة النسخ ، ملف الرأس '<الخوارزمية>' يجب تضمينه في C ++ ، حيث يدعم ملف الرأس هذا وظيفة النسخ في C ++.
تم ذكر بناء الجملة لاستخدام وظيفة النسخ أدناه:
بناء الجملة
في بناء الجملة ، وسائط وظيفة النسخ هي المصفوفات التي يجب نسخها ووجهة المصفوفة:
الأمراض المنقولة جنسيا :: نسخة ( أولاً، آخر ، نتيجة )
وظيفة copy () لها ثلاث معاملات:
-
- أولا - مجموعة من حيث سيتم نسخ العناصر
- أخيرًا - يشير الفهرس الأخير للمصفوفة إلى المكان الذي نريد نسخ العناصر فيه
- نتيجة- يشير إلى المصفوفة الجديدة حيث نريد نسخ العناصر
كيفية استخدام وظيفة copy () في كود C ++
العملية الكاملة لنسخ مصفوفة باستخدام الامتداد ينسخ() تتم مناقشة الوظيفة في الخطوات المذكورة أدناه:
الخطوة 1 : أولاً ، قم باستيراد ملفات الرأس كما تفعل دائمًا لأي كود C ++ ، تذكر ذلك لاستخدامه ينسخ() وظيفة <الخوارزمية> يجب تضمين ملف الرأس مع ملف
# تضمين <الخوارزمية>
الخطوة 2: ثم ابدأ الوظيفة الرئيسية () ، ستكون جميع الكود الرئيسي داخل هذه الوظيفة الرئيسية:
{
يعود 0 ؛
}
الخطوه 3: لنقم الآن بإنشاء مصفوفة سنقوم بنسخها باستخدام الأمر copy في الخطوات القادمة. هنا ، قمت بتسمية المصفوفة الخاصة بي باسم org [] لتمثيل المصفوفة الأصلية ، يمكنك استخدام أي اسم آخر أيضًا. مصفوفي يحتوي على 7 عناصر ، لذا فقد أعلنت أيضًا عن متغير ن = 7 وهي قابلة للتغيير بناءً على عدد العناصر داخل المصفوفة:
منظمة int [ ] = { 2 و 9 و 8 و 1 و 3 و 6 و 3 } ؛
الخطوة الرابعة: الآن قمت بتعريف مصفوفة dest ، وهي مصفوفة حيث سيتم نسخ مصفوفة org []. بعد ذلك أخيرًا استخدم وظيفة copy ، الوسيطة الأولى هي المصفوفة الأصلية ، والثانية هي المصفوفة + n (وهي حجم المصفوفة) ، وأخيرًا ، المصفوفة التي هي المصفوفة حيث سيتم نسخ جميع العناصر:
الأمراض المنقولة جنسيا :: نسخة ( org، org + n، dest ) ؛
الخطوة الخامسة : الآن عن طريق تشغيل حلقة for سأطبع المصفوفات. حلقة for أدناه هي نسخ مجموعة org:
ل ( int أنا = 0 ؛ أنا < ن؛ أنا ++ )
الأمراض المنقولة جنسيا :: cout << غزاله [ أنا ] << ' ؛
الأمراض المنقولة جنسيا :: cout << '\ن' ؛
الخطوة 6 : بالمثل ، لطباعة المصفوفة المنسوخة ، استخدمت حلقة for أخرى:
الأمراض المنقولة جنسيا :: cout << 'نسخة من المصفوفة:' ؛ل ( int أنا = 0 ؛ أنا < ن؛ أنا ++ )
الأمراض المنقولة جنسيا :: cout << يبدأ [ أنا ] << ' ؛
الأمراض المنقولة جنسيا :: cout << '\ن' ؛
ملحوظة: لقد قمت فقط بطباعة / عرض كلا المصفوفتين فقط من أجل الفهم ولكنها ليست إلزامية.
الكود الكامل موضح أدناه:
شفرة
# تضمين# تضمين <الخوارزمية>
انت مين ( ) {
const int n = 7 ؛
منظمة int [ ] = { 2 و 9 و 8 و 1 و 3 و 6 و 3 } ؛
كثافة العمليات [ ن ] ؛
الأمراض المنقولة جنسيا :: نسخة ( org، org + n، dest ) ؛
الأمراض المنقولة جنسيا :: cout << 'الصفيف الأصلي:' ؛
ل ( int أنا = 0 ؛ أنا < ن؛ أنا ++ )
الأمراض المنقولة جنسيا :: cout << غزاله [ أنا ] << ' ؛
الأمراض المنقولة جنسيا :: cout << '\ن' ؛
الأمراض المنقولة جنسيا :: cout << 'نسخة من المصفوفة:' ؛
ل ( int أنا = 0 ؛ أنا < ن؛ أنا ++ )
الأمراض المنقولة جنسيا :: cout << يبدأ [ أنا ] << ' ؛
الأمراض المنقولة جنسيا :: cout << '\ن' ؛
يعود 0 ؛
}
لنقم الآن بتشغيل الكود لعرض المخرجات وللتحقق من نسخ المصفوفة بنجاح:
انتاج |
خاتمة
نعم ، يوجد ملف ينسخ() تعمل في C ++ لنسخ المصفوفات. ليستخدم ينسخ() وظيفة تشمل فقط <الخوارزمية> ملف الرأس في الأعلى بعد ذلك الأمراض المنقولة جنسيا :: نسخة () يمكن استخدامها داخل أي كود C ++. يتم توفير بناء الجملة ورمز C ++ أيضًا في الإرشادات المذكورة أعلاه لسهولة التعلم.