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

لغز جميل للمبرمجين(طباعة جميع الكلمات الممكنة من حروف معينة)

بدأه باسم الموجي في 20 أبريل 2008 · 9 رد · 1,430 مشاهدة · في اختبر قداراتك
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وللتبسيط سنقوم بعمل البرنامج على الحروف a,b,c فقط حتى يمكن اختبار صحة البرنامج بسهولة

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

aa

ab

ac

ba

bb

bc

ca

cb

cc

وإذا أعطيناه 3 يقوم بكتابة

aaa

aab

aac

aba

abb

abc

.

.

.

ccc

وأيضا مطلوب عدم استخدام الـ recursion في حل اللغز لأن حله بالـ recursion بسيط وسهل

وتحياتي

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#2

الحل موجود في منتدى الرياضيات :lol:

solution hint :

92224

:lol:

التغيير لحل اللغز :

لثلاث خانات :

const int char_num=3;

الأحرف :

	char STRING[char_num]={'a','b','c'};

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

بدون النظر إلى قسم الرياضيات

اكيد في عددلانهائي من الحلول , انا ادور على حل رياضي مبسط ,

هل راح استخدم التوافيق والتباديل ؟ :unsure:

مشكور على اللغز

تم تعديل هذه المشاركة بواسطة time1 في 20 أبريل 2008 في 21:31

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#4

الحل في الـ recursion

بس انا الى الان صارلي 29 ساعة صاحي، رايح انام وان شاء الله باحلم بالخوارزمية :wacko:

الخيل والليل والبيداء تعرفني ::: والثور والبغل والاغنام والبقرُ

#5
/index.php?showtopic=92224

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#6

شكرا يا أخ HGB

أنا الصراحة لم أدقق في حلك لكن أظنه للوهلة الأولى صحيح لأن هذه الفكرة خطرت ببالي لكن بشكل مختلف قليلا

لكن ماذا لو أردنا تطبيق نفس الطريقة على الحروف من a إلى z :)

على العموم أنا عندي حل آخر أكثر أناقة ويمكن فهمه بسهوله بعيدا عن استخدام pow و % والتي تحتاج إلى مجهود ذهني لفهمها وسأضعه إن شاء الله بعد أن أترك فرصة للأعضاء للتفكير في اللغز

وأحب أن أؤكد ممنوع استخدام الـ recursion

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#7
باسم الموجي كتب:
وأحب أن أؤكد ممنوع استخدام الـ recursion

ليش؟؟ :rolleyes:

الخيل والليل والبيداء تعرفني ::: والثور والبغل والاغنام والبقرُ

#8
اقتباس
ليش؟؟

هذا لغز وأظن من حقي أن أضع ما أشاء من القيود عليه :)

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

#9

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

كنت مسوي مسبقاً برنامج لهذا الغرض...

هذا هو الكود:

#include<iostream.h>
#include<math.h>

const int n=3;

int main (){	

	char A[n];
	int P,a,r=n;

	cout<<"Enter "<<n<<" charecter : ";// إدخال الحروف
	cin>>A;

		P=pow(n,r);		// حساب عدد الاحتمالات

		cout<<"\n-----"<<P<<"-----\n";

		for( int i=0;i<P;i++){// تكرار طباعة الاحتمالات
			for( int j=1;j<=r;j++){//طباعة حروف الكلمة
				a=i/pow(n,r-j);		//إيجاد عنوان الحرف
				a%=n;
				cout<<A[a];
			}
			cout<<endl;
		}
	return 0;
}/*************************** نهاية الدالة الرئيسية  ***************************/

أعتذر ربما أن الكود فيه بعض الأحطاء ، لكني عندما كتبته كنت مبتدئ في هذه اللغه...

أتمنى أن يكون الكود صحيحاً...

نفذته وطبع المطلوب بشكل صحيح...

دمتم في رعاية الله،،،

تم تعديل هذه المشاركة بواسطة العواجي في 24 أبريل 2008 في 10:57

موقع كلية الحاسب الآلي ونظم المعلومات.

WWW.UQUCS.COM

#10

حسنا سأقوم بطرح برنامجي بدوري

#include<stdio.h>
#include<alloc.h>

void main()
{
	int i,j,n;
	char *word;
				char c;
	printf("Enter the length of the word : ");
	scanf("%i",&n);
	word=(char*) malloc(n);
	for(i=0;i<n;i++)
		word='a';

	do
	{
				j=1;
		for(c='a';c<='z';c++)
		{
			word[0]=c;
			for(i=n-1;i>=0;i--)
				printf("%c",word);
			printf("\n");
		}
		while(word[j]=='z' && j != n-1)
		{
			word[j]='a';
						j++;
		}
				word[j]+=1;
		}while(word[n-1] != 'z'+1 && n != 1);
}

البرنامج السابق سيقوم بتنفيذ المطلوب على الحروف من a حتى z ولكي يعمل على الحروف من a حتى c فيمكن بسهولة استبدال 'z' بـ 'c' في كل المواضع في الكود

وتحياتي

تم تعديل هذه المشاركة بواسطة باسم الموجي في 24 أبريل 2008 في 22:18

من أقوال الأئمة

الإمام علي بن أبي طالب -رضي الله عنه-: "الناس ثلاثة : فعالم رباني ، ومتعلم على سبيل النجاة ، وهمج رِعاع غوغاء أتباع كل ناعق ، يميلون مع كل ريح ، لم يستضيئوا بنور العلم ، ولم يلجئوا إلى ركن وثيق".

الإمام مالك -رحمه الله- : " لن يصلح آخر هذه الأمة إلا بما أصلح به أولها ".

الإمام الأوزاعي -رحمه الله- : " عليك بآثار من سلف وإن رفضك الناس وإياك وآراء الرجال وإن زخرفوه لك بالقول ".

الإمام الفضيل بن عياض -رحمه الله- : " عليك بطرق الهدى و لا يضرك قلة السالكين و إياك و طرق الضلالة ولا يغرك كثرة الهالكين ".

علامة الزمان الإمام الألباني -رحمه الله- : " إن الخلاص إلى أيدي هؤلاء الشباب يتمثل في أمرين لا ثالث لهما ؛ التصفية والتربية ".

وكل خير في اتباع من سلف وكل شر في ابتداع من خلف

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…