البرمجة

ملء مصفوفة C++ بقيم نصية

عندما يتعلق الأمر بملء مصفوفة ثنائية الأبعاد في لغة البرمجة C++ بقيم سلسلة نصية، يمكن أن تكون هناك عدة طرق لتحقيق ذلك بشكل صحيح وفعال. تبدأ العملية بالتأكد من أن المدخلات المقدمة تتناسب مع الهيكل المطلوب للمصفوفة ثنائية الأبعاد.

أحد الطرق الشائعة لملء مصفوفة ثنائية الأبعاد بقيم نصية هو استخدام حلقتين متداخلتين لقراءة البيانات النصية وتخزينها في المصفوفة. في حالة الأمثلة التي قدمتها، يبدو أن كل سطر من النصوص يمثل صفًا في المصفوفة.

لحل هذه المشكلة، يمكنك استخدام الدالة getline() لقراءة السطور ومن ثم استخدام الفهرس الصحيح لتعبئة الخانات في المصفوفة. لكن يجب أن تتأكد من تهيئة المصفوفة بشكل صحيح للتعامل مع السلسلة النصية. على سبيل المثال، يمكنك استخدام مصفوفة من النوع char لتخزين الأحرف في كل خانة.

إليك كيف يمكن تنفيذ ذلك في الكود:

cpp
#include #include using namespace std; const int ROWS = 5; const int COLS = 6; int main() { // تهيئة المصفوفة ثنائية الأبعاد char array[ROWS][COLS]; cout << "أدخل النصوص:" << endl; // ملء المصفوفة ثنائية الأبعاد بالنصوص المدخلة for (int i = 0; i < ROWS; ++i) { string line; getline(cin, line); // تحقق من أن السطر يحتوي على عدد من الأحرف يساوي عدد الأعمدة if (line.length() != COLS) { cout << "عدد الأحرف في السطر " << (i + 1) << " غير متطابق مع عدد الأعمدة." << endl; return 1; // خروج برنامج بشكل غير ناجح } // نسخ الأحرف من السطر إلى المصفوفة for (int j = 0; j < COLS; ++j) { array[i][j] = line[j]; } } // طباعة المصفوفة المملوءة cout << "المصفوفة المملوءة:" << endl; for (int i = 0; i < ROWS; ++i) { for (int j = 0; j < COLS; ++j) { cout << array[i][j]; } cout << endl; } return 0; }

باستخدام هذا الكود، يمكنك أدخال السطور النصية وسيتم تعبئة المصفوفة ثنائية الأبعاد بالقيم المناسبة. في حالة وجود أي عدم تطابق في عدد الأحرف بين السطور، سيتم إخطارك بذلك.

هذه الطريقة تضمن دقة المدخلات وتسمح بمعالجة أي أخطاء قد تحدث أثناء إدخال البيانات.

المزيد من المعلومات

بالطبع، سنقوم الآن بإكمال المقال بشكل يشمل توضيحات إضافية وتفاصيل أكثر عن كيفية ملء المصفوفة ثنائية الأبعاد بقيم نصية في لغة البرمجة C++.

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

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

  2. استخدام مصفوفة من النوع char: يمكن استخدام مصفوفة من النوع char لتخزين الأحرف بسبب طبيعة البيانات المطلوبة. في حال كانت البيانات تحتوي على أحرف فقط دون أي أنواع بيانات أخرى، فإن استخدام مصفوفة char يكون مناسبًا وفعّالاً.

  3. التحقق من دقة المدخلات: يمكن تعزيز الكود بمزيد من التحققات لضمان دقة المدخلات. على سبيل المثال، يمكنك فحص الحروف المدخلة للتأكد من أنها تتوافق مع الشروط المطلوبة، مثل التحقق من أنها حروف صالحة.

  4. التحقق من صحة الناتج: بعد ملء المصفوفة، يمكن إضافة خطوات إضافية للتحقق من صحة الناتج. يمكنك على سبيل المثال طباعة المصفوفة المملوءة للتحقق من أن البيانات تم تخزينها بشكل صحيح.

  5. استخدام تقنيات أخرى: بالإضافة إلى استخدام getline()، يمكنك استخدام العديد من التقنيات الأخرى لقراءة البيانات من المستخدم بشكل أكثر تحكمًا، مثل استخدام دوال متقدمة مثل cin.get() وغيرها.

من الجدير بالذكر أنه يمكن تعديل الكود أعلاه وتطويره بحسب احتياجات المشروع الخاص بك، مثل إضافة مزيد من التحققات أو التعامل مع الأخطاء بشكل أفضل. بتطبيق هذه الإضافات، يمكنك كتابة برامج C++ أكثر دقة واستقرارًا في تعاملها مع المصفوفات ثنائية الأبعاد التي تحتوي على بيانات نصية.

مقالات ذات صلة

زر الذهاب إلى الأعلى

هذا المحتوى محمي من النسخ لمشاركته يرجى استعمال أزرار المشاركة السريعة أو تسخ الرابط !!