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

أين الخطأ في كود البرنامج...برمجة لعبة السودوكو 4x4 برنامج صغير

مغلق
بدأه albronzy في 20 مايو 2007 · 3 رد · 564 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

===============

هنا الكود

===============

#include<iostream>

int main()

{

using namespace std;

cout<<"\nWelcome to the Sudoku Checker v1.0!\n\nThis program checks simple, smale, 4x4 Sudoku grids for correctness. Each column, row and 2x2 region contains the numbers 1 through 4 only once.\n\nTo check your Sudoku, enter your board one row at a time, with each digit separated by a space. Hit ENTER at the end of a row\n";

int a1,a2,a3,a4;

int b1,b2,b3,b4;

int c1,c2,c3,c4;

int d1,d2,d3,d4;

int cl1,cl2,cl3,cl4;

cl1=a1+b1+c1+d1;

cl2=a2+b2+c2+d2;

cl3=a3+b3+c3+d3;

cl4=a4+b4+c4+d4;

////////////////////////

int r1,r2,r3,r4;

r1=a1+a2+a3+a4;

r2=b1+b2+b3+b4;

r3=c1+c2+c3+c4;

r4=d1+d2+d3+d4;

////////////////////////

int rg1,rg2,rg3,rg4;

rg1=a1+a2+b1+b2;

rg2=c1+c2+d1+d2;

rg3=a3+a4+b3+b4;

rg4=c3+c4+d3+d4;

/////////////////////////

int a1,a2,a3,a4;

int b1,b2,b3,b4;

int c1,c2,c3,c4;

int d1,d2,d3,d4;

cout<<"Enter Row 1: ";

cin>>a1>>a2>>a3>>a4>>endl;

cout<<"Enter Row 2: ";

cin>>b1>>b2>>b3>>b4>>endl;

cout<<"Enter Row 3: ";

cin>>c1>>c2>>c3>>c4>>endl;

cout<<"enter Row 4: ";

cin>>d1>>d2>>d3>>d4>>endl;

////////////////////////////////////////////////////ROWS//////////////////

if(r1==10)

{

cout<<"RW1:GOOD\n";

}

else

{

cout<<"RW1:BAD\n";

}

////////////////

if(r2==10)

{

cout<<"RW2:GOOD\n";

}

else

{

cout<<"RW2:BAD\n";

}

////////

if(r3==10)

{

cout<<"RW3:GOOD\n";

}

else

{

cout<<"RW3:BAD\n";

}

///////

if(r4==10)

{

cout<<"RW4:GOOD\n";

}

else

{

cout<<"RW4:BAD\n";

}

/////////////////////////////////COLUMNS////////////////////////////

if(cl1==10)

{

cout<<"Cl1:GOOD\n";

}

else

{

cout<<"CL1:BAD\n";

}

////////

if(cl2==10)

{

cout<<"Cl2:GOOD\n";

}

else

cout<<"CL2:BAD\n";

}

////////

if(cl3==10)

{

cout<<"Cl3:GOOD\n";

}

else

{

cout<<"CL3:BAD\n";

}

////////

if(cl4==10)

{

cout<<"Cl4:GOOD\n";

}

else

{

cout<<"CL4:BAD\n";

}

//////////////////////////////////////////////REGIONS////////////////////

if(rg1==10)

{

cout<<"RG1:GOOD\n";

}

else

{

cout<<"RG1:BAD\n";

}

/////

if(rg2==10)

{

cout<<"RG2:GOOD\n";

}

else

{

cout<<"RG2:BAD\n";

}

//////

if(rg3==10)

{

cout<<"RG3:GOOD\n";

}

else

{

cout<<"RG3:BAD\n";

}

////////

if(r4==10)

{

cout<<"RG4:GOOD\n";

}

else

{

cout<<"RG4:BAD\n";

}

////////

////////////////////////////////////VALIDATION OF SUDOKU///////////////////////////////////

if(r1==10)

if(r2==10)

if(r3==10)

if(r4==10)

//

if(rg1==10)

if(rg2==10)

if(rg3==10)

if(rg4==10)

//

if(cl1==10)

if(cl2==10)

if(cl3==10)

if(cl4==10)

//

{

cout<<"SU:VALID"<<endl;

}

else

{

cout<<"SU:INVALID"<<endl;

}

return 0;

}

============================

ابغى المخرجات كالتالي

enter row1:1 2 3 4

enter row2:3 4 2 1

enter row3:1 2 3 4

enter row4:4 3 2 1

طبعا الاعداد تكون مدخله من المستخدم

لازم تكون من واحد الى اربعه و الا تكون السودوكو غلط

check...

rw1:good

r2:good

r3:good

r4:good

cl1:good

cl2:good

cl3:good

cl4:good

rg1:good

rg2:good

rg3:good

rg4:good

طبعا تكون كلها قود ان كانت كل الشروط صحيحه اما ان كان في غلط من الشروط يطبع باد

وبعدين يعطي الناتح السودوكو ان كانت صحيحه يطبع

su:valid

ان كانت غلط يطبع

su:invalid

ما ابغى استخدامات غير الاف و الالس بس

يعني مثل ما هو لانه الصراحه هو هومورك و تعبت و انا احاول بس ما ضبط وياي و ملزوم اني ما اطلع من الاف و الالس كأستخدامات,,,ان شاء الله ما تقصرون معاي

و مشكروين مقدماً

تم تعديل هذه المشاركة بواسطة albronzy في 20 مايو 2007 في 09:29

#2

انا املك كود اللعبة

يحتوي على دالة"function" تعطيها الجدول الممثل للعبة

وتقوم باكماله سواء كان فارغ او يحتوي بعض القيم

#3

اولاً لا يمكن تعريف نفس المتغير بنفس الاسم مرتين في نفس ال block . وهذا انت مسويه :

int a1,a2,a3,a4;

int b1,b2,b3,b4;

int c1,c2,c3,c4;

int d1,d2,d3,d4;

كررتها تحت بنفس الاسماء والانواع int .

وايضا :

int cl1,cl2,cl3,cl4;

و

int r1,r2,r3,r4;

و

int rg1,rg2,rg3,rg4;

كلهم يأخذون قيمة عشوائية فيظهر لك خطأ منطقي .

#4

بالاضافة الى ما قالة اخي "مجلد جديد"

هنالك خطأ في استخدام جملة الادخال cin بحيث يجب ادخال كل قيمة على حدى

c>>a1;

cin>>a2;

وهكذا

الأمر الثاني انك تقوم بجمع a1+a2+a3....... قبل اسناد اي قيمة اليهم

لذلك قم بنقل جمل الجمع بعد cin لكل واحدة منهم ليصبح هكذا:

cout<<"\nWelcome to the Sudoku Checker v1.0!\n\nThis program checks simple, smale, 4x4 Sudoku grids for correctness. Each column, row and 2x2 region contains the numbers 1 through 4 only once.\n\nTo check your Sudoku, enter your board one row at a time, with each digit separated by a space. Hit ENTER at the end of a row\n";



	int a1,a2,a3,a4;
	int b1,b2,b3,b4;
	int c1,c2,c3,c4;
	int d1,d2,d3,d4;



	cout<<"Enter Row 1: ";
	cin>>a1;//>>a2>>a3>>a4>>endl;
	cin>>a2;
	cin>>a3;
	cin>>a4;

	cout<<"Enter Row 2: ";
	cin>>b1;//>>b2>>b3>>b4>>endl;
	cin>>b2;
	cin>>b3;
	cin>>b4;

	cout<<"Enter Row 3: ";
	cin>>c1;//>>c2>>c3>>c4>>endl;
	cin>>c2;
	cin>>c3;
	cin>>c4;

	cout<<"enter Row 4: ";
	cin>>d1;//>>d2>>d3>>d4>>endl;
	cin>>d2;
	cin>>d3;
	cin>>d4;

///////////////////////////////////////////////////
	int cl1,cl2,cl3,cl4;

	cl1=a1+b1+c1+d1;
	cl2=a2+b2+c2+d2;
	cl3=a3+b3+c3+d3;
	cl4=a4+b4+c4+d4;
	////////////////////////
	int r1,r2,r3,r4;

	r1=a1+a2+a3+a4;
	r2=b1+b2+b3+b4;
	r3=c1+c2+c3+c4;
	r4=d1+d2+d3+d4;
	////////////////////////
	int rg1,rg2,rg3,rg4;
	rg1=a1+a2+b1+b2;
	rg2=c1+c2+d1+d2;
	rg3=a3+a4+b3+b4;
	rg4=c3+c4+d3+d4;
	/////////////////////////
	////////////////////////////////////////////////////ROWS//////////////////
	if(r1==10)
	{
		cout<<"RW1:GOOD\n";
	}
	else
	{
		cout<<"RW1:BAD\n";
	}
	////////////////
	if(r2==10)
	{
		cout<<"RW2:GOOD\n";
	}
	else
	{
		cout<<"RW2:BAD\n";
	}
	////////
	if(r3==10)
	{
		cout<<"RW3:GOOD\n";
	}
	else
	{
		cout<<"RW3:BAD\n";
	}
	///////
	if(r4==10)
	{
		cout<<"RW4:GOOD\n";
	}
	else
	{
		cout<<"RW4:BAD\n";
	}



	/////////////////////////////////COLUMNS////////////////////////////

	if(cl1==10)
	{
		cout<<"Cl1:GOOD\n";
	}
	else
	{
		cout<<"CL1:BAD\n";
	}
	////////
	if(cl2==10)
	{
		cout<<"Cl2:GOOD\n";
	}
	else{
		cout<<"CL2:BAD\n";
	}
	////////
	if(cl3==10)
	{
		cout<<"Cl3:GOOD\n";
	}
	else
	{
		cout<<"CL3:BAD\n";
	}
	////////
	if(cl4==10)
	{
		cout<<"Cl4:GOOD\n";
	}
	else
	{
		cout<<"CL4:BAD\n";
	}

	//////////////////////////////////////////////REGIONS////////////////////

	if(rg1==10)
	{
		cout<<"RG1:GOOD\n";
	}
	else
	{
		cout<<"RG1:BAD\n";
	}
	/////
	if(rg2==10)
	{
		cout<<"RG2:GOOD\n";
	}
	else
	{
		cout<<"RG2:BAD\n";
	}
	//////
	if(rg3==10)
	{
		cout<<"RG3:GOOD\n";
	}
	else
	{
		cout<<"RG3:BAD\n";
	}
	////////
	if(r4==10)
	{
		cout<<"RG4:GOOD\n";
	}
	else
	{
		cout<<"RG4:BAD\n";
	}
	////////

	////////////////////////////////////VALIDATION OF SUDOKU///////////////////////////////////

	if(r1==10)
	if(r2==10)
	if(r3==10)
	if(r4==10)
	//
	if(rg1==10)
	if(rg2==10)
	if(rg3==10)
	if(rg4==10)
	//
	if(cl1==10)
	if(cl2==10)
	if(cl3==10)
	if(cl4==10)
	//
	{
		cout<<"SU:VALID"<<endl;
	}
	else
	{
		cout<<"SU:INVALID"<<endl;
	}

هذا الموضوع مغلق.

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

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

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

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

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