پروگرامنگ کوئز

الف نظامی

لائبریرین
مندرجہ ذیل سی پلس پلس کا پروگرام 3 حروف پر مشتمل تمام ممکنہ رومن الفاظ بناتا ہے۔
کوڈ:
#include<fstream>
void main()
{
ofstream file;
file.open("out.txt");
for(char a='a';a<='z';a++)
for(char b='a';b<='z';b++)
for(char c='a';c<='z';c++)
file<<a<<b<<c<<endl;
file.close();
}
اس پروگرام کو جنرک بنانا ہے ۔ یعنی اگر 1 سے 10 تک کوئی نمبر دیا جائے تو اتنے حروف پر مشتمل تمام ممکنہ رومن الفاظ بنادے۔
 

قیصرانی

لائبریرین
راجہ بھیا، صرف الفاظ بنیں گے۔ اس میں‌کوئی کوئی ہی بامعنی لفظ ہوگا۔ باقی لاجیک وہی ہے کہ ان پٹ لے کر اس کے مطابق لوپ چلانی ہے۔ کافی جنرک سا پروگرام ہے۔ اسی پروگرام میں‌ ہی ویری ایبل لے کر اسے اے سے زیڈ تک چلانا ہے۔ اور بس۔
بےبی ہاتھی
 

الف نظامی

لائبریرین
آپ کا کوڈ جنرک کیسے ہوگا ؟ ذرا مثال دیں۔
میرے خیال میں تو جنرک نہیں ہوگا۔اس میں تو n (ان پٹ شدہ نمبر)کی مختلف قیمتوں کیلیے مختلف کوڈ رن ہوگا۔
 

قیصرانی

لائبریرین
راجہ بھیا، ٹیچنگ کرتے کرتے کوڈنگ تو یاد نہیں رہی۔ لاجیک البتہ آتی ہے۔ باقی یہ تو بہت سمپل ہے۔ وہی کسی بھی کریکٹر کو ان پٹ لیں گے۔ باقی لوپ تو وہی ہوگی چاہے تو آسکی متبادل میں‌کر لیں۔
بےبی ہاتھی
 

الف نظامی

لائبریرین
قیصرانی نے کہا:
راجہ بھیا، ٹیچنگ کرتے کرتے کوڈنگ تو یاد نہیں رہی۔ لاجیک البتہ آتی ہے۔ باقی یہ تو بہت سمپل ہے۔ وہی کسی بھی کریکٹر کو ان پٹ لیں گے۔ باقی لوپ تو وہی ہوگی چاہے تو آسکی متبادل میں‌کر لیں۔
بےبی ہاتھی
قیصرانی کیریکٹر ان پٹ نہیں لینا بلکہ لفظ میں حروف کی تعداد ان پٹ لینی ہے۔ یعنی اگر 4 ان پٹ دیا جائے تو 4 لمبائی کے تمام ممکنہ رومن الفاظ آوٹ پٹ ہوں۔
 
راجہ اس میں اگر لفظ کی لمبائی کے ساتھ پہلا حرف بھی لے لیا جائے تو پھر صرف اسی ایک لفظ‌ سے شروع ہونے والے اتنی لمبائی کے الفاظ‌ کی ممکنہ فہرست بن سکتی ہے۔

مثلاً اگر 4 لفظ کی لمائی ہو اور پہلا حرف ہو a تو

asad
agha
aara
aapa
aaap
aana
 

الف نظامی

لائبریرین
محب علوی نے کہا:
راجہ اس میں اگر لفظ کی لمبائی کے ساتھ پہلا حرف بھی لے لیا جائے تو پھر صرف اسی ایک لفظ‌ سے شروع ہونے والے اتنی لمبائی کے الفاظ‌ کی ممکنہ فہرست بن سکتی ہے۔

مثلاً اگر 4 لفظ کی لمائی ہو اور پہلا حرف ہو a تو

asad
agha
aara
aapa
aaap
aana
یہ دیکھیے۔
کوڈ:
#include<fstream> 
void main() 
{ 
ofstream file;
char start; 
file.open("out.txt"); 
cout<<"Enter starting char";
cin>>start;
for(char a=start;a<='z';a++) 
for(char b='a';b<='z';b++) 
for(char c='a';c<='z';c++) 
file<<a<<b<<c<<endl; 
file.close(); 
}
 

قیصرانی

لائبریرین
راجہ بھیا۔ ایک کام کریں۔ آؤٹ پٹ دے دیا کریں۔ اس طرح سے کام آسان ہو جاتا ہے۔ ورنہ تو ایسے لگتا ہے کہ جیسے میں خود کسی سٹوڈنٹ کو اسائنمنٹ دے رہا ہوں‌:) (مذاق)
بےبی ہاتھی
 

زیک

مسافر
میں فی الحال اس کوئز کا جواب نہیں دے رہا مگر میری تجویز ہے کہ جو بھی اس تھریڈ میں پوسٹ کرے وہ سی‌پلس‌پلس کوڈ یا pseudocode ضرور دے۔
 

الف نظامی

لائبریرین
لیں جی جنرک پروگرام حاضر ہے۔
کوڈ:
#include<math>
#include<fstream>
char a[20];
ofstream file;
int n;
void main()
{
for(int j=0;j<=20;j++)
a[j]='a';
file.open("o.txt");
cout<<"Enter n";
cin>>n;
// All possible  words count
long max=pow(26,n);
for(long k=1;k<max>=0; index--)
 {
 file<<a[index];
 }
 file<<endl;
 // increment values of characters
 // first character loops multiple of 26 times
 //. second character loops multiple of 26^2 times
 /// n character loops multiple of 26^n times
 for(int i=1;i<=n;i++){
 if( k%(long)pow(26,i)==0 )
	a[i-1]='a';else
	if(k%(long)pow(26,i-1)==0)
	a[i-1]++;
     }
}
file.close();
}
 
Top