header
header
9-1





رد
 
LinkBack أدوات الموضوع إبحث في الموضوع تقييم الموضوع
  #1 (permalink)  
قديم 14th June 2005, 06:49 AM
الصورة الرمزية Cyber
Cyber Cyber غير متواجد حالياً
!Fan-freakin-tastic
 
تاريخ التسجيل: May 2005
الجنس : ذكر
المشاركات: 725

معلومات العضو الأكاديمية

Cyber
very simple C/C++ code

اكتب تخمينك لمخرجات هذا الكود قبل ما تسوي كومبايليشن وقبل قراءة ردود الاخرين . جرب حظك

كود:
#include <stdio.h>
main()
{
    int a,b,c;
    int count = 1;
    for (b=c=10;a=
"- FIGURE?, UMKC,XYZHello Folks,\
TFy!QJu ROo TNn(ROo)SLq SLq ULo+\
UHs UJq TNn*RPn/QPbEWS_JSWQAIJO^\
NBELPeHBFHT}TnALVlBLOFAkHFOuFETp\
HCStHAUFAgcEAelclcn^r^r\\tZvYxXy\
T|S~Pn SPm SOn TNn ULo0ULo#ULo-W\
Hq!WFs XDt!" [b+++21]            ;)

   for(; a-- > 64 ; )
    putchar ( ++c=='Z' ? c = c/ 9:33^b&1);

}

رد مع اقتباس
  #2 (permalink)  
قديم 14th June 2005, 08:46 AM
العاني العاني غير متواجد حالياً
الكمبيوتر لـي وانا لــــه
 
تاريخ التسجيل: May 2005
الجنس :
المشاركات: 105


مشاركة: very simple C/C++ code

للأسف ودي اكتب
بس المشكلة اني ما اعرف الا لغه C++
وكان ودي اني اول من يحلهاااا بس يالله راح اكون اول من رد

والوعد في C++ <<<<<<<< مسوي يهدد ما درى انه توه مخلص البارت الأول من الماده هذي وطالع له شنب فيهاا خخخخ


يالله مشكورة اختي\اخوي على الموضوع القيم

والجايات اكثر انشالله


اخوك
العاني

رد مع اقتباس
  #3 (permalink)  
قديم 14th June 2005, 01:34 PM
الصورة الرمزية أقرب البعيد
أقرب البعيد أقرب البعيد غير متواجد حالياً
! Hamilton 2011
 
تاريخ التسجيل: Jan 2005
الجنس : ذكر
المشاركات: 495

معلومات العضو الأكاديمية

مشاركة: very simple C/C++ code

والله اخوي ما لقيت الا السي انا من ناحيتي اعرف ++c والجـــافا والاسمبلي و الباسكال

لو جايب كود من ذي المواد يمكن اقدر اجيب لك الجواب مو يمكن الا اكيـــد بأذن الله

على العموم ننتظر حقين السي يجون يحلون الكود

أقــــــــرب البعيد

اضغط هنا لرؤية التوقيع


!Magic Bus 142 , Magic Life
رد مع اقتباس
  #4 (permalink)  
قديم 14th June 2005, 04:03 PM
الصورة الرمزية Cyber
Cyber Cyber غير متواجد حالياً
!Fan-freakin-tastic
 
تاريخ التسجيل: May 2005
الجنس : ذكر
المشاركات: 725

معلومات العضو الأكاديمية

Cyber
مشاركة: very simple C/C++ code

اقتباس للأسف ودي اكتب
بس المشكلة اني ما اعرف الا لغه C++

اقتباس والله اخوي ما لقيت الا السي انا من ناحيتي اعرف ++c والجـــافا والاسمبلي و الباسكال

هذا كود C++ ، كل اللي فيه loop جوا loop . نفس الكود برضو كود C .

شكرا لكم .

رد مع اقتباس
  #5 (permalink)  
قديم 14th June 2005, 04:36 PM
الصورة الرمزية RGB5000
RGB5000 RGB5000 غير متواجد حالياً
RGB = Red Green and Blue
 
تاريخ التسجيل: Mar 2004
الجنس :
المشاركات: 101

معلومات العضو الأكاديمية

مشاركة: very simple C/C++ code

هذا الكود يتنفذ بالسي أو السي بلس بلس كومبايلر.. بس أغرب كود شفته بحياتي..

والله ما قدرت أعرف وشو بدون ما أنفذ ولكن نفذته وطلعت لي خريطه أحد الدول الشقيقه اللي نستقدم منها..

قعدت أحاول بس يبي له واحد فاضي مره يفكك فيه..
مشكور يا Mutability وحلوه الفكره.

رد مع اقتباس
  #6 (permalink)  
قديم 14th June 2005, 05:28 PM
..HoKo.. ..HoKo.. غير متواجد حالياً
.
 
تاريخ التسجيل: Apr 2004
الجنس : غير محدد
المشاركات: 1,635


مشاركة: very simple C/C++ code

كود عجيب ! ..


حاولت أفهمه بصراحة ما قدرت ! .. فيه حاجات غريبه شوي ..
ما أدري ليه طلع لي linking error و لا قدرت أشوف المخرجات ..
توقعته باترن أو شي زي كذا من طريقة كتابته ..

الكوندشنز جد غريبه ..

شكراً جزيلاً لعرضه و أتمنى لو تقدر تكلمنا عنه أكثر ..

اضغط هنا لرؤية التوقيع
[align=center]

[[ اللهم أنت ربي لا إله إلا أنت خلقتني وأنا عبدك
وأنا على عهدك ووعدك ما استطعت أعوذ بك من
شر ما صنعت أبوء لك بنعمتك علي وأبوء لك بذنبي
فاغفر لي فإنه لا يغفر الذنوب إلا أنت
]]


....


[/align]
رد مع اقتباس
  #7 (permalink)  
قديم 14th June 2005, 05:41 PM
الصورة الرمزية أ.د.تهنيق
أ.د.تهنيق أ.د.تهنيق غير متواجد حالياً
-
 
تاريخ التسجيل: Feb 2005
الجنس : أنثى
المشاركات: 168

معلومات العضو الأكاديمية

مشاركة: very simple C/C++ code

أضم صوتي للي قبلي..
البرنامج نستد لوب هذا كل اللي فهمته..
لكن فيه أشياء عجيبة داخل اللوب!!..

أتمنى إذا ممكن أحد يشرحه لنا..

وشكراً على هذا البرنامج العجيب..

اضغط هنا لرؤية التوقيع
ليت الزمن يرجع وراء والليالي تدور

......................................ويرجع وقتنا الأول وننعم في بساطتنا

نروح المدرسة بدري ونضحك داخل الطابور

...........................................نحا
رد مع اقتباس
  #8 (permalink)  
قديم 14th June 2005, 07:40 PM
الصورة الرمزية عجايب
عجايب عجايب غير متواجد حالياً
خنفورميشون تقنولوجي
 
تاريخ التسجيل: Jul 2004
الجنس : أنثى
المشاركات: 173

معلومات العضو الأكاديمية

مشاركة: very simple C/C++ code

هذا البرنامج عجييييييييييييييييب جدا جدا جدا



لو أحفي مستحييييييييييييل أكتب زييه


تحياتي

اضغط هنا لرؤية التوقيع
برنامج الألف سطر يبدأ بـ أمر..
رد مع اقتباس
  #9 (permalink)  
قديم 14th June 2005, 08:02 PM
لمــار لمــار غير متواجد حالياً
Registered User
 
تاريخ التسجيل: May 2005
الجنس :
المشاركات: 163

معلومات العضو الأكاديمية

مشاركة: very simple C/C++ code

وأنا بعد نفس الشي اقول loop ..

بس الشرط اول مررررره اشوفه في حياتي..

ياليت احد يقولنا وشو..


ودمتم بود..

رد مع اقتباس
  #10 (permalink)  
قديم 14th June 2005, 08:22 PM
الصورة الرمزية أقرب البعيد
أقرب البعيد أقرب البعيد غير متواجد حالياً
! Hamilton 2011
 
تاريخ التسجيل: Jan 2005
الجنس : ذكر
المشاركات: 495

معلومات العضو الأكاديمية

مشاركة: very simple C/C++ code

اقول اخوي والله انك صدقت الكود مكتوب بلغة السي++

وبصراحة الى الحين الكود مبهم بالنسبة لي

يمكن لان الفناكيش المستخدمة فى الكود موجودة اصلا فى المكتبة اللى انت استعديتها

او بالاحري كلمة ستوديو .


بصراحة انا نفذت الكود على كمبايلر السي ++

وكانت المخرجات بالشكل التالي





أقــــرب البعيـــد

اضغط هنا لرؤية التوقيع


!Magic Bus 142 , Magic Life
رد مع اقتباس
  #11 (permalink)  
قديم 15th June 2005, 04:40 PM
الصورة الرمزية اقوى واحد
اقوى واحد اقوى واحد غير متواجد حالياً
مـعـيـد
 
تاريخ التسجيل: Jun 2005
الجنس : ذكر
المشاركات: 237

معلومات العضو الأكاديمية

مشاركة: very simple C/C++ code

يعني مثلاااا تكون خريطه دوله معينه مثلاا؟

اضغط هنا لرؤية التوقيع
الـلـه الـبادي ... ثــم مـجـد بـلادي
رد مع اقتباس
  #12 (permalink)  
قديم 15th June 2005, 09:18 PM
الصورة الرمزية Cyber
Cyber Cyber غير متواجد حالياً
!Fan-freakin-tastic
 
تاريخ التسجيل: May 2005
الجنس : ذكر
المشاركات: 725

معلومات العضو الأكاديمية

Cyber
مشاركة: very simple C/C++ code

السلام عليكم .
طبعا ما احد كان متوقع ان الكود صحيح من الاساس . او على الاقل الاغلبية .
اول شي ودي اشوف اللي كتب الكود لأني أطلبه 45 دقيقة من وقتي (حسبي الله عليه) .

رح أحاول اشرح اللي فهمته من الكود ، ماني متأكد من فهمي 100% لكن 90% مقتنع انه صحيح ان شاءالله .

رح ابدا من البداية وحاول تركز شوي بالقراية حتى ما تفقد الترابط والا بيصير الموضوع يحتاج موضوع ثاني يشرحه .
رح ارمز للوب الخارجية بـ outer واللوب الداخلية بـ inner

int a,b,c; ما يبي لها شرح

في بداية جملة outer حط b = 10 و c = 10
شرط التوقف لـ outer هو انه a = 0 او null او بمعنى ثاني انها توصل لنهاية string الطويلة
الجملة [b+++21] تعني حط في المتغير a رقم الاسكي للحرف رقم b + 21 بعد كذا زود b بواحد
يعني بالشكل هذا b++ + 21 والزيادة لـ b ما تتم الا بعد اسناد رقم الاسكي للحرف رقم b + 21 إلى المتغير a

في أول دورة لـ outer رح يحط في a رقم الاسكي للحرف رقم 31 في النص الطويل العريض واللي يساوي "فراغ" ورقم الاسكي له هو 32 . بعدين رح يزود b بواحد وتصير 11.

مازلنا في اول دورة لـ outer واتفقنا انه حط في a رقم 32 وجا دور تنفيذ inner بالشكل هذا
كود:
for(; a-- > 64; )
			putchar( ++c=='Z'? c/=9:33^b&1);
ولكن بما انه a = 32 يعني a أقل من 64 فما رح يدخل جوا inner ورح يرجع لـ outer وينفذ الدورة الثانية فيها .

الدورة الثانية لـ outer رح تكون b = 11 بالتالي رح يسند لـ a رقم الاسكي للحرف الموجود في الخانة رقم 11 + 21 اللي هي 32 واللي فيها الحرف T والاسكي حقه يساوي 84 .
ورح يزيد b بواحد ورح تكون 12 .
الحين رح يجي لتنفيذ inner بالشكل هذا
كود:
for(; a-- > 64; )
			putchar( ++c=='Z'? c/=9:33^b&1);
طبعا a قلنا انه فيها رقم الاسكي للحرف T يعني a فيها الرقم 84 معناها رح ينفذ inner 20 مرة (64 – 84 )
طيب رح نجي للشرط اللي جوا inner واللي هو نص اللحسة بالكود ، ولكنه بالحقيقة سهل جدا زي ما رح نشوف.
اول شي الدالة putchar هذي تعطيها رقم int وتطبع لك الحرف المقابل لهذا الرقم في جدول الاسكي .

لازم نتذكر انه القيمة الاساسية لـ c هي 10 (اللي اعطيت له في بداية تنفيذ outer ) طبعا اول حاجة يسويها لما يدخل الشرط انه يزيد c بـواحد يعني رح تكون c تساوي 11 بعد كذا يقارن هل c يساوي رقم الاسكي لحرف Z واللي يعادل 90 ؟ طبعا 11 لا تساوي 90 بالتالي الشرط غير متحقق ورح يعطي الدالة putchar الرقم الناتج من العملية هذي :
كود:
33^b&1
هذي رح نفصفصها شوي بعد كذا رح تكون في غاية السهولة.
أول شي لازم تكون عارف الرمزين & و ^ وش عملهم . كل الرمزين يتعاملون على مستوى البتات للمتغير.
الرمز & يعادل AND . مثال بسيط 1&0 هذي يعطي 0 و 1&1 يعطي 1
والرمز ^ يعادل XOR. مثال 1^0 هذي تعطي 1 و 1^1 هذي تعطي 0 بمعنى اذا صارو البتات متشابهين يعطي 0 واذا صارو البتات مختلفين يعطي 1.

الجملة هذي تنفذ بالشكل التالي:
اذا كان b عدد زوجي فإن ناتج الجملة 33^b&1 يعطي 33 (لأن b&1 تعطي 0 و 33^0 تعطي 33)
وإذا كان b عدد فردي فإن ناتج الجملة 33^b&1 يعطي 32 (لأن b&1 تعطي 1 و 33^1 يعطي 32)
اللي يحتاج تفصيل في هذي النقطة ما عندي مشكلة ارجع واوضحها زين اذا كان فيها غموض.

يعني كأنه يقول اذا كانت b عدد زوجي عط الدالة putchar الرقم 33 وخلها تطبع الرمز المقابل له في جدول الاسكي واللي هو !
واذا كانت b عدد فردي عط الدالة puchar الرقم 32 واللي هو يعادل فراغ .

اوكي في حالتنا هذي عندنا b تساوي 12 (زي ما اتفقنا في اخر تغيير لقيمة b ) و بما ان c تساوي 11 فانها تحتاج لـ 79 دورة حتى توصل 90 اللي هو رقم الاسكي لـ Z وتتنفذ الجملة c = c /9 او c/=9 (كلهم زي بعض) يعني كأنه يقول إذا وصلت c للرقم 90 اقسمها على 9 يعني عط c القيمة 10 ، بمعنى اخر سوي لها reset للقيمة 10 .
طيب حنا اتفقنا انه رح ينفذ inner 20 مرة (64 – 84 ) واتفقنا انه c ما رح توصل للقيمة 90 الا بعد 79 لفة معناها رح ينفذ الجملة 33^b&1 عدد 20 من المرات وبما انه b تساوي 12 يعني زوجي فانه رح يعطي الدالة putchar الرقم 33 ويخليه يطبع 20 حبة من الرمز "!"

بعد كذا رح يرجع لـ outer ويكمل التنفيذ ورح ياخذ الحرف رقم 12 + 21 = 33 اللي هو الحرف F واللي رقم الاسكي له يساوي 70 مع