مصطفى 36a2
مشرف قسم C/C++
- سوريا
- ربّي يسّر
- تحدي : بدون استخدام الحلقات !
سأعدّل السؤال .. فعند تجريب حلّي كاد الكوبايلر أن ينفجر .. من مرّت معه في حياته هذه الرسالة : سأعدّل السؤال إلى 1000 عنصر والكود في 1000 بايت .. أعتذر للخطأ الحاصل .. :p
- نقاش : هل عملية الضرب mul بطيئة بالفعل !
5- بالنسبة للأعداد السالبة والموجبة سنضطر لإضافة جزء ضرب الإشارة (عمليا سيكون الضرب للقيمة المطلقة .. والإشارة حسب xor الإشارتين ) 4- طبعاً لا أناقش سهولة استخدام mul وسيكون هناك طول في الكود ولا شك .. ولكن هل يمكن أن تكون أسرع في الوقت ؟ 3- لا بد أن هذا هو ال…
- خواص const
فهمت أن int* مساحتها 64بت ولكن لماذا int أيضاً , كنت أظن أنها معتمدة على النظام أيضاً ويجب أن تكون 64بت ..! إذا كان كلامي خاطئاً فأعتقد أنك تقترح استخدام long أليس كذلك ؟
- نقاش : الدالة() rand ليست عشوائية أبداً ...
ماشاء الله عليك أخي محمد .. ما رأيك بتعديل بسيط على الكود لنحصل على عشوائية معتمدة على العشوائية التي قبلها :) arr *= arr[i-1] * ((i+1) << 1); ولكن أظن أن الكود يحتاج إلى len ثانية أليس كذلك ؟ وفقك الله .. وشكرا لك
- نقاش : هل عملية الضرب mul بطيئة بالفعل !
السلام عليكم ورحمة الله وبركاته كثيراً ما نسمع في الأسمبلي أن عملية الضرب mul بطيئة .. سنناقش اليوم بإذن الله صحة هذا القول .. سنقارن أولا الضرب ب4 والذي يقابل الإزاحة المنطقية للعدد ب2 لليسار في الكود التالي قمت بمقارنة الوقت اللزم للقيام بمليار عملية ضرب ومل…
- تحدي : بدون استخدام الحلقات !
أخي حسام أهلاً بك :) ولكن بالنسبة للعودية (ألم يحدث عندك Stack Over Flow ? ) لهذا قلت أنها لن تعمل ! على كل حال بالعودية ستضطر لاستخدام الشرط لذلك مرفوض :D أما بالنسبة للكود الثاني .. تابع به وأكمله فقد اقتربت من الحل الصحيح :) ... لكن راعي أن يكون الكود أقل م…
- تحدي : بدون استخدام الحلقات !
السلام عليكم ورحمة الله وبركاته ... بدون أن تستخدم أي نوع من الحلقات ( for ,while ,do while) أو goto أو حتى العودية (أصلا لن تعمل ) .. ولا أي نوع من التحكم بدفق البرنامج .. عليك قراءة مليون رقم بالضبط من الدخل .. ثم طباعتها بشكل معكوس ... :) ينتهي التحدي في 10…
- الإجراءات الفرعية Procedures
فيما يلي مثال يوضّح استخدام الإجراءات .. (الكود يقوم بعملية ضرب رقمين ) ;هذا الكود يوضّح عملية ضرب رقمين من الدخل وطباعتهما باستخدام العمليات ;Procedures ; ويمكنك قراءته وفهمه بسهولة بسبب القاعدة : فرّق تسد :) إنها السيطرة .model small .stack 100h .data .code;…
- رحلة في أعماق الدالة getch
السلام عليكم ورحمة الله وبركاته كنت أرغب بالسؤال عن طريقة عمل getch في أعمق مستواها وصولاً إلى كود الأسمبلي وأرغب في وضع السؤال هنا ليحاول حلّه الأخوة الأعضاء .. ولكن نويت إيجاده بنفسي وإليكم ما وصلت إليه .. (أرجو التصحيح في حال الخطأ ) أولا : وظيفة هذه الدالة…
- سؤال : كيف يمكن كتابة برنامج بدون المكتبات القياسية ؟
رغم أن الموضوع قديم .. ولكنه من أجمل المواضيع في القسم ورد الأخ Mr.B من أكثر الردود روعة .. هناك حل طالما أنك منزعج فقط من #include فالمصرّف gcc يملك كل المكتبة القياسية بداخله Built in يعني بإمكانك استخدام الدوال كلّها (القياسية) دون #include واحدة :)
- تطوير : خوارزمية قيصر للتشفير في C
إذا فاجأتك تعليمة الشرط الثلاثية فعليك دراسة اللغة جيّداً لأنها من الأمور الأساسية في C .. ننتظر الموضوع القادم عن خوارزمية جديدة .. (بالمناسبة : للحفاظ على تنسيق الموضوع لا داعي لردود الشكر فهي لن تفيد الأعضاء الذين يقرؤون المشاركة . وحاولي ترتيب التنسيق بدون…
- تطوير : خوارزمية قيصر للتشفير في C
السلام عليكم هذا هو شرح الكود السابق , سأشرح الحلقة فقط لأن الباقي معروف لدينا مؤشّر T والمصفوفة التي احتفظت بالدخل اسمها t والآن سنتبع الخوارزمية التالية : نسند T إلى أول حرف في t طالما لم تنته سلسلة الدخل فقم بالخطوة 3 وإلا انه البرنامج إذا كان الحرف كبيراً …
- تطوير : خوارزمية قيصر للتشفير في C
حسناً بالنسبة للكود ..سأقوم بشرحه , ولكن قبل ذلك أحب أن أنوه إلى وجود خطأ يجعل البرنامج كله عديم الفائدة .. سأكتب عن الخطأ اليوم وسأعدل المشاركة وأشرح الكود غداً .. ( أرجو عدم كتابة رد على هذا الرد ) الخطأ Bug for(T=t,o=isupper(*T)?'A':'a';*T;T++) putchar(isal…
- أسئلة لترسيخ مفهوم خوارزمية قيصر
جيّد إذا السؤال فيه حركة :) هذا هو الجواب : U sfv U++ al'k s xmf dsfymsyw ozwf qgm dgnw al بالمناسبة جمعت المفاتيح فكان المجموع 70 , ثم أخذت % على 26 فكان الجواب 18 , وشفّرت بمفتاح 18 , زهو نفس الجواب لو قمنا بعدة مراحل .. شكراً ..
- أسئلة لترسيخ مفهوم خوارزمية قيصر
سأقوم بحل الجملة الأولى وأترك الباقي للأخوة ليتمرّنوا : الجملة هي : C and C++ it's a fun language when you love it سأضع الانتقال والجملة المشفّرة .. 4 G erh G++ mx'w e jyr perkyeki alir csy pszi mx 8 K ivl K++ qb'a i ncv tivociom epmv gwc twdm qb 15 R pcs R++ …
- [ تمت الإجابة ]Trees in Data Structures
الأخ الكريم/الأخت الكريمة السلام عليكم ورحمة الله وبركاته مرحباً بكم في منتدى الفريق العربي للبرمجة تأسف إدارة المنتدى لغلق الموضوع وذلك لمخالفته قوانين المشاركات، فقرة استخدام البحث قبل السؤال. قواعد طرح المشاركات /index.php?showtopic=29343 شاكرين لكم حُسن تع…
- الإجراءات الفرعية Procedures
السلام عليكم ورحمة الله وبركاته تتمّة لكود الأستاذ Z3r0n3 في هذه المشاركة /index.php/topic/221875-%D8%A3%D9%83%D9%88%D8%A7%D8%AF-%D9%85%D9%81%D8%AA%D9%88%D8%AD%D8%A9-%D8%A7%D9%84%D9%85%D8%B5%D8%AF%D8%B1/#entry1107066 أثناء تطبيق استخدام Procedure حدثت معي بعض …
- تطوير : خوارزمية قيصر للتشفير في C
نعم صحيحة بالطبع :) والمفتاح هو كما ذكرت ... أحسنت .. إليك عبارة أخرى : والآن إليك الكود بعد أن قمت بعمل golfing (أي تقصير الكود ) #include <stdio.h> #include <ctype.h> int main() { char t[1000],*T,o; int k,i; puts("Enter The text"); gets(t); puts("Enter the k…
- تطوير : خوارزمية قيصر للتشفير في C
خطأ .. لن نحصل على شيفرة قيصر مضاعفة بشكل لا متناهي .. فالناتج النهائي هو نفسه الناتج عن التشفير بمفتاح هو مجموع المفاتيح المستخدمة ثم باقي القسمة على 26 .. مثلا تشفير ب 6 ثم 12 ثم 20 هو نفسه التشفير لمرة واحدة بــ 38 أي 38%26 أي 12 :) وهي ليست فكرة جيدة :) وا…
- تطوير : خوارزمية قيصر للتشفير في C
بالنسبة لـكتابة ما يلي : char x[1000];scanf("%s",x); فستتم قراءة سلسلة محارف وستتوقف عن القراءة عند أول فراغ , سواء كان space أو tab أو new line أما الدالة gets فهي تقرأ سطرا كاملا وتضعه كما هو في الوسيط الممرر . بالنسبة لكسر التشفير فانتبهي أستاذة إلى العبارة…