الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج لحل مسالة رياضاية

بدأه 4Mindz في 14 سبتمبر 2010 · 7 رد · 887 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم...

صادفت و انا ابحث عن تمارين في برمجة c

مسالة باللغة الانجليزية فحواها ايجاد و ضعية 1000 مدخل

يوجد 1000 مستعمل

كل مستعمل يمر على باب يخمل رقمه او رقم مضاعف لرقمه

اي مثلا المستعمل رقم 2

يستعمل المدخل

2 و 4 و 6 و 8 و ....الى 1000

و في كل مرة يستعمل المدخل تتغير حالته من مغلق الى مفتوح او العكس

و نعتبر الابواب كلها مفتوحة في البداية

بعد مرور 1000 مستعمل كيف ستكون حالة الابواب

و الطريف في الموضوع ان هذا اختبار الالتحاق بدورة google JAM

دورة برمجة

و يقول المحرر ان هذا التمرين يعطيك فكرة عن كيفية عمل النت و ارتباطها بقواعد البيانات

بعد مدة قررت ان اجرب

شغااال حسب النتيجة tongue.gif


//
// Created by Kimboo... 13/09/2010 //
// _______________________________ //
// INIMforum =_ //////////
// |_=-> http://inim.forummotion.com//
// http://inim.tk //////////
// bnr001@hotmail.com //
////////////////////////////////////////////////////



#include<stdio.h>
#include<string.h>
void stat_chek (int count)
{
if (count%2==0)
{printf("door is OPEN\n");
}
else
{printf("door is CLOSE\n");
}
}
main()
{
//This program check the statue of ports
//port statue change when user use it
system("color 70");

int port[100];
int i=0;
int user=0;
int a=0;
int x=1;
int y=1;
printf("IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII\n");

printf("\n");printf("\n");

for(user=1;user<=100;user++)
{ a=0;
while (a<=100)
{
a=a+user;
if (a<=100)
{


//door list that user used
//store door in port[100][100];
i++;
}
}

port[user]=i;
i=0;
printf("user number %d entred %d door \n",y,port[y]);
y++;
printf("\n");

}
printf("\n ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\n");
for(y=1;y<=100;y++)
{

}
//Now counting door action in each door

a=0;
printf("Now we consider the doors are open\n");
printf("Press 'Enter' key to continue...");
getchar();
y=0;
int use=0;
for(x=1;x<=100;x++)
{
for (a=1;a<=100;a++)
{if (a<=x)
{

if (x%a==0)
{
use++;

}
}
}
printf("\n>>> Door %d used %d\n",x,use);
stat_chek (use);
use=0;
}
}
//********************************************************//

يرجى التفاعل ^^

مشكل......فكرة.......حل........وسيلة.......سكريبت

مشاريعي و طموحاتي تبقيني كلي املا

لا اخاف ان أسئل لكي لا احرج عندما اوسئل

binary.png

#2

السلام عليكم و رحمة الله و بركاته

هذا التمرين كان اللغز الأول الذي طرحتُه قي المسابقة البرمجية المثبتة بالأعلى و أذكر أن الحلول المقترحة لهذا اللغز تجازوت 15 حل !, الحل الأخير كان في سطر واحد !!!

بإمكانك مشاهدة الحلول عن طريق الذهاب إلى الرابط التالي (انظر المشاركة رقم 44):

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

بالتوفيق.

#3

البرنامج الذي كتبته يقوم بحساب و اظهار

- الابواب التي استعملها كل عضو

- عدد الاعضاء الذين استعملوا كل باب

- حالة كل باب اثناء عملية الدخول

- حالة كل باب عند نهاية العملية

لا اعتبر استعمال الدوال المسبقة التعريف لاظهار ارقام بضون شرح معناها عمل احترافي و قد تعتبره ذكي لكن لا اظن انه اكثر من افتخار امام المبتدئين

مشكل......فكرة.......حل........وسيلة.......سكريبت

مشاريعي و طموحاتي تبقيني كلي املا

لا اخاف ان أسئل لكي لا احرج عندما اوسئل

binary.png

#4

السلام عليكم و رحمة الله و بركاته

اقتباس
لا اعتبر استعمال الدوال المسبقة التعريف لاظهار ارقام بضون شرح معناها عمل احترافي و قد تعتبره ذكي لكن لا اظن انه اكثر من افتخار امام المبتدئين

مالعيب في استخدام الدوال المعرفة مسبقا !؟ و مالفائدة منها إذا لم نستخدمها من أجل الوصول إلى الهدف المنشود !؟

إذا كان الكود بتاعك لا يستخدم الدوال المعرفة مسبقا فليس من المنصف أن ترغم الآخرين على عدم استخدام الدوال المعرفة مسبقا ثم تصف حلولهم بأنها ليست أكثر من افتخار أمام المبتدئين !!!, حرام عليك يا أخي !

لعلك لا تعرف الإخوة الذين تتحدث عنهم !

الأخ وجدي عصام هو أحد الخبراء المعتمدين في الفريق العربي للبرمجة و هو مشرف سابق لقسم السي و السي++ و الجافا وقد قام بتأليف بحث "ضخم" تحدث فيه عن طرق القضاء على الفيروسات مما يدل على توسعه في عالم البرمجة, اسأل عنه جامعة neelain !

الأخ خالد الشايع, اقرأ مواضيعه و ستفهم ما أتحدث عنه !

لا تفهم من كلامي أن حلك غير جميل او أنه ليس الـ ....! و لكن الإخوة الذين تحدثتُ عنهم هم جواهر ماسية نادرة من جواهر الفريق العربي للبرمجة و ستفهم الأمور أكثر عندما ترى إبداعاتهم المتواصلة في المنتدى.

5
#5

لماذا تقوم بكل هذا الأمر إن كان باستطاعتك كتابة البرنامج التالي الذي يحل نفس المسألة:

#include <iostream>
#include <cmath>
int main()
{ std::cout << std::floor(std::sqrt(1000.0)); }

الفكرة أنه هناك elegant solution اكتشفه الأخ وجدي و الأخ namespace, و قمنا بتحسينه قليلاً ليصبح في سطر واحد. لا نحتاج إلى عدم استخدام الدوال الجاهزة, نحتاج إلى قليل من الـ Discrete Math و مخ مفتح :)

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 15 سبتمبر 2010 في 14:42

7
#6

ما الهدف من هذه المواضيع؟ اظن انها للمبتدئ بشكل عام و اظن انك كنت مبتدئ في وقت من الاوقات و ما يعاني منه هو تعقيد الامور بالنسبة له فكل من تعلم و تقدم في لغة ما اصبح يحب ان يتكلم بشكل غامض و معقد ليظهر و من دون شعور تمكنه و ذكائه في ذلك

انت تريد ان تحفز و تحسن المبتدئ عن طريق مسابقات

و اقول مبتدئ لانك و حسب المسئلة تخصص المبتدئين

فكيف تطرح لهم مسالة بسيطة نسبيا لتخرج بحل تختزل فيه مراحل كثيرة تربك القارئ المبتدئ فتثبط عزيمته

مشكل......فكرة.......حل........وسيلة.......سكريبت

مشاريعي و طموحاتي تبقيني كلي املا

لا اخاف ان أسئل لكي لا احرج عندما اوسئل

binary.png

#7

السلام عليكم و رحمة الله و بركاته

اقتباس
ما الهدف من هذه المواضيع ؟ اظن انها للمبتدئ بشكل عام و اظن انك كنت مبتدئ في وقت من الاوقات و ما يعاني منه هو تعقيد الامور بالنسبة له فكل من تعلم و تقدم في لغة ما اصبح يحب ان يتكلم بشكل غامض و معقد ليظهر و من دون شعور تمكنه و ذكائه في ذلك

انت تريد ان تحفز و تحسن المبتدئ عن طريق مسابقات و اقول مبتدئ لانك و حسب المسئلة تخصص المبتدئين

فكيف تطرح لهم مسالة بسيطة نسبيا لتخرج بحل تختزل فيه مراحل كثيرة تربك القارئ المبتدئ فتثبط عزيمته

يوجد 16 حل مقترح لهذا اللغز و الحل المُختصر هو الحل الأخير فقط !

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

الهدف من تنوع الحلول هو تنوع الأفكار مما يعني تنوع المستوى البرمجي الذي تخاطبه !, توجد حلول مناسبة للمبتدئين و أخرى مناسة لذوي العقول البرمجية و الذين لا يرضون بأبجديات الفكر و الطرق المباشرة.

احترامي.

تم تعديل هذه المشاركة بواسطة أحمد المتألق في 15 سبتمبر 2010 في 21:36

2
#8
أحمد المتألق كتب:

السلام عليكم و رحمة الله و بركاته

يوجد 16 حل مقترح لهذا اللغز و الحل المُختصر هو الحل الأخير فقط !

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

الهدف من تنوع الحلول هو تنوع الأفكار مما يعني تنوع المستوى البرمجي الذي تخاطبه !, توجد حلول مناسبة للمبتدئين و أخرى مناسة لذوي العقول البرمجية و الذين لا يرضون بأبجديات الفكر و الطرق المباشرة.

احترامي.[/السلام عليكم و رحمة الله و بركاتهcolor]

مواضيع مشابهة