THE LION
10-04-2005, 12:40 AM
السلام عليكم...
سأتوجه إلى السؤال مباشرة وانشالله تساعدوني...
* كيف من الممكن تحديد مجموعات جزئية في لغة C ( ربما اسمها sets أو subsets )؟
وهي كالمجموعة الجزئية في لغة باسكال:-
...
var a:char;
....
IF a IN ['a'..'z','A'..'Z'] then
.....
وشكرا...
ibn_alqalam
10-04-2005, 03:41 AM
الامر ليس سهلا مع السي. اذا تريد انشاء مجموعات بكل معنى الكلمة, مجموعات قابلة لعمليات الاتحاد و التقاطع و اضافة و حذف عنصر و منع التكرار, الخ. اذا تريد ذلك, فسوف يجب عليك استخدام القائمات المتتابعة, linked lists.
و لكن اذا تريد فقط تجربة ما اذا كان عنصر ما حرف ابجدي لاتيني, بين A و Z مع عدم مراعات الشكل case insensitive, فحينها يمكنك فعل الاتي:
char alphabet [26*2]; /* A-Z, a-z */
...
int i;
char c;
for (c = 'A'; c <= 'Z"; c++) {
alphabet[i] = c;
i++;
}
for (c = 'a'; c <= 'z'; c++) {
alphabet[i] = c;
i++;
}
يمكنك ضم عبارتي التكرار تلك, لان سي تضمن لك تتابع الحروف الابجدية, و لكن هذا الشكل اوضح للمبتدئين.
يمكنك تحويل ذلك الى دالة او استخدام العبارات في جسد main او اي مكان اخر.
جميع حقوق برمجة vBulletin محفوظة ©2025 ,لدى مؤسسة Jelsoft المحدودة.
جميع المواضيع و المشاركات المطروحة من الاعضاء لا تعبر بالضرورة عن رأي أصحاب شبكة المنتدى .