Forwarded from Deleted Account
# include <assert.h>
# include <stdio.h>
# define MAXSIZE 8
class EightQueens
{
int m_size;
int m_solution_count;
int m_attempt_count;
int m_queen[MAXSIZE];
bool m_row_inuse[MAXSIZE];
bool m_diag_rise[MAXSIZE*2];
bool m_diag_fall[MAXSIZE*2];
public:
EightQueens(int size, bool is_alt) {
assert(size <= MAXSIZE);
m_size = size;
m_solution_count = ۰;
m_attempt_count = ۰;
for (int i = 0; i < m_size; i++) {
m_queen[i] = i;
m_row_inuse[i] = ۰;
}
for (int j = 0; j < m_size*2; j++) {
m_diag_rise[j] = ۰;
m_diag_fall[j] = ۰;
}
if (is_alt) SearchAlt(0);
else Search(0);
}
int GetSolutionCount() {
return m_solution_count;
}
int GetAttemptCount() {
return m_attempt_count;
}
private:
void SearchAlt(int col){
if (col == m_size) {
m_solution_count++;
return;
}
for (int row = 0; row < m_size; row++) {
m_attempt_count++;
if (m_row_inuse[row] == 0 && IsDiagValid(col, row)) {
m_queen[col] = row;
m_row_inuse[row] = ۱;
SetDiags(col, 1);
SearchAlt(col+1);
SetDiags(col, 0);
m_row_inuse[row] = ۰;
m_queen[col] = -۱;
}
}
}
void Search(int col) {
if (col == m_size) {
m_solution_count++;
return;
}
for (int i = col; i < m_size; i++) {
if (SwapQueenIfDiagValid(col, i)) {
Search(col+1);
UnSwapQueen(col, i);
}
}
}
void SwapQueenBasic(int i, int j) {
int hold = m_queen[i];
m_queen[i] = m_queen[j];
m_queen[j] = hold;
}
void SetDiags(int col, int val) {
assert(m_diag_rise[m_queen[col] + col]!= val);
m_diag_rise[m_queen[col] + col] = val;
assert(m_diag_fall[m_queen[col] - col + m_size]!= val);
m_diag_fall[m_queen[col] - col + m_size] = val;
}
bool IsDiagValid(int col, int row) {
return (m_diag_rise[row + col] == ۰ &&
m_diag_fall[row - col + m_size] == ۰);
}
bool SwapQueenIfDiagValid(int i, int j) {
m_attempt_count++;
if (IsDiagValid(i, m_queen[j])) {
SwapQueenBasic(i, j);
SetDiags(i, 1);
return true;
}
return false;
}
void UnSwapQueen(int i, int j) {
SetDiags(i, 0);
SwapQueenBasic(i, j);
}
};
void
do_work(bool is_alt)
{
int size = ۸;
EightQueens puzzle(size, is_alt);
int soln = puzzle.GetSolutionCount();
int attempt = puzzle.GetAttemptCount();
assert(size!= ۸ || soln == ۹۲);
const char* style = is_alt ? "cartesian": "permutation";
printf("EightQueens[%d] has %d solutions found in %5d attempts using %s search. \n", size, soln, attempt, style);
}
int main()
{
printf("We should have 92 solutions for 8x8. \n");
do_work(0);
do_work(1);
}
# include <stdio.h>
# define MAXSIZE 8
class EightQueens
{
int m_size;
int m_solution_count;
int m_attempt_count;
int m_queen[MAXSIZE];
bool m_row_inuse[MAXSIZE];
bool m_diag_rise[MAXSIZE*2];
bool m_diag_fall[MAXSIZE*2];
public:
EightQueens(int size, bool is_alt) {
assert(size <= MAXSIZE);
m_size = size;
m_solution_count = ۰;
m_attempt_count = ۰;
for (int i = 0; i < m_size; i++) {
m_queen[i] = i;
m_row_inuse[i] = ۰;
}
for (int j = 0; j < m_size*2; j++) {
m_diag_rise[j] = ۰;
m_diag_fall[j] = ۰;
}
if (is_alt) SearchAlt(0);
else Search(0);
}
int GetSolutionCount() {
return m_solution_count;
}
int GetAttemptCount() {
return m_attempt_count;
}
private:
void SearchAlt(int col){
if (col == m_size) {
m_solution_count++;
return;
}
for (int row = 0; row < m_size; row++) {
m_attempt_count++;
if (m_row_inuse[row] == 0 && IsDiagValid(col, row)) {
m_queen[col] = row;
m_row_inuse[row] = ۱;
SetDiags(col, 1);
SearchAlt(col+1);
SetDiags(col, 0);
m_row_inuse[row] = ۰;
m_queen[col] = -۱;
}
}
}
void Search(int col) {
if (col == m_size) {
m_solution_count++;
return;
}
for (int i = col; i < m_size; i++) {
if (SwapQueenIfDiagValid(col, i)) {
Search(col+1);
UnSwapQueen(col, i);
}
}
}
void SwapQueenBasic(int i, int j) {
int hold = m_queen[i];
m_queen[i] = m_queen[j];
m_queen[j] = hold;
}
void SetDiags(int col, int val) {
assert(m_diag_rise[m_queen[col] + col]!= val);
m_diag_rise[m_queen[col] + col] = val;
assert(m_diag_fall[m_queen[col] - col + m_size]!= val);
m_diag_fall[m_queen[col] - col + m_size] = val;
}
bool IsDiagValid(int col, int row) {
return (m_diag_rise[row + col] == ۰ &&
m_diag_fall[row - col + m_size] == ۰);
}
bool SwapQueenIfDiagValid(int i, int j) {
m_attempt_count++;
if (IsDiagValid(i, m_queen[j])) {
SwapQueenBasic(i, j);
SetDiags(i, 1);
return true;
}
return false;
}
void UnSwapQueen(int i, int j) {
SetDiags(i, 0);
SwapQueenBasic(i, j);
}
};
void
do_work(bool is_alt)
{
int size = ۸;
EightQueens puzzle(size, is_alt);
int soln = puzzle.GetSolutionCount();
int attempt = puzzle.GetAttemptCount();
assert(size!= ۸ || soln == ۹۲);
const char* style = is_alt ? "cartesian": "permutation";
printf("EightQueens[%d] has %d solutions found in %5d attempts using %s search. \n", size, soln, attempt, style);
}
int main()
{
printf("We should have 92 solutions for 8x8. \n");
do_work(0);
do_work(1);
}
Forwarded from Deleted Account
مسئله چند وزیر یک معمای شطرنجی و ریاضیاتی است که بر اساس آن باید n وزیر شطرنج در یک صفحه n×n شطرنج بهگونهای قرار داده شوند که هیچیک زیر ضرب دیگری نباشند. با توجه به اینکه وزیر بهصورت افقی، عمودی و اُریب حرکت میکند، باید هر وزیر را در طول، عرض و قطر متفاوتی قرار داد.
اولین و مشهورترین شکل این مسئله معمای هشت وزیر است که برای حل آن باید ۸ وزیر را در یک صفحهً معمولی (۸×۸) شطرنج قرار داد. این مسئله ۹۲ جواب دارد که ۱۲ جواب آن منحصر بهفرد است یعنی بقیه جوابها از تقارن جوابهای اصلی بهدست میآید.
مسئله n وزیر در صورتی جواب دارد که n مساوی ۱ یا بیشتر از ۳ باشد. یعنی مسئله دو وزیر و سه وزیر راه حلی ندارند.
اولین و مشهورترین شکل این مسئله معمای هشت وزیر است که برای حل آن باید ۸ وزیر را در یک صفحهً معمولی (۸×۸) شطرنج قرار داد. این مسئله ۹۲ جواب دارد که ۱۲ جواب آن منحصر بهفرد است یعنی بقیه جوابها از تقارن جوابهای اصلی بهدست میآید.
مسئله n وزیر در صورتی جواب دارد که n مساوی ۱ یا بیشتر از ۳ باشد. یعنی مسئله دو وزیر و سه وزیر راه حلی ندارند.
برای باز کردن فایل پی دی اف در اندروید این تابع را بنویسید (خیلی از دوستان مشکل داشتن انشاالله که حل بشه مشکل شون )
String dir="/Attendancesystem";
public void displaypdf() {
File file = null;
file = new File(Environment.getExternalStorageDirectory()+dir+ "/sample.pdf");
Toast.makeText(getApplicationContext(), file.toString() , Toast.LENGTH_LONG).show();
if(file.exists()) {
Intent target = new Intent(Intent.ACTION_VIEW);
target.setDataAndType(Uri.fromFile(file), "application/pdf");
target.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Intent intent = Intent.createChooser(target, "Open File");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
// Instruct the user to install a PDF reader here, or something
}
}
else
Toast.makeText(getApplicationContext(), "File path is incorrect." , Toast.LENGTH_LONG).show();
}
String dir="/Attendancesystem";
public void displaypdf() {
File file = null;
file = new File(Environment.getExternalStorageDirectory()+dir+ "/sample.pdf");
Toast.makeText(getApplicationContext(), file.toString() , Toast.LENGTH_LONG).show();
if(file.exists()) {
Intent target = new Intent(Intent.ACTION_VIEW);
target.setDataAndType(Uri.fromFile(file), "application/pdf");
target.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Intent intent = Intent.createChooser(target, "Open File");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
// Instruct the user to install a PDF reader here, or something
}
}
else
Toast.makeText(getApplicationContext(), "File path is incorrect." , Toast.LENGTH_LONG).show();
}
landscape
چلو گیری از landscape
شدن اکتیویتی
را های مختلفی وجود داره👇
روش اول
<activity android:name=".SomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" />
روش دوم برای جلو گیری از land scape
این کد را به فایل
AndroidManifest.xml
اضافه کن یا راه بهتر کد زیر را
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
در تابع onCreate()
چلو گیری از landscape
شدن اکتیویتی
را های مختلفی وجود داره👇
روش اول
<activity android:name=".SomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" />
روش دوم برای جلو گیری از land scape
این کد را به فایل
AndroidManifest.xml
اضافه کن یا راه بهتر کد زیر را
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
در تابع onCreate()
امسال تولد ۱۲۶ سالگى چارلى چاپلين است. روز خوبى است براى ياداورى ٣ جمله تاثير گذار او:
١. هيچ چيز در اين جهان جاودانه نيست حتى مشكلات و بد بيارى هاى ما
٢. من قدم زدن تو بارون را دوست دارم چون كسى نميتونه اشكامو ببينه
٣. بيهوده ترين روز در زندگى اون روزيه كه ما نخنديم
چارلى ميگويد: پس از كلى فقر، به ثروت و شهرت رسيدم . اموخته ام كه با پول ... ميتوان ساعت خريد، ولى زمان نه ... ميتوان مقام خريد، ولى احترام نه ... ميتوان كتاب خريد، ولى دانش نه... ميتوان دارو خريد ولى سلامتى نه، ميتوان رختخواب خريد، ولى خواب راحت نه ...
ارزش ادمها به دارايى انها نيست به معرفت انهاست
تقدیم به دوستان بامعرفت
١. هيچ چيز در اين جهان جاودانه نيست حتى مشكلات و بد بيارى هاى ما
٢. من قدم زدن تو بارون را دوست دارم چون كسى نميتونه اشكامو ببينه
٣. بيهوده ترين روز در زندگى اون روزيه كه ما نخنديم
چارلى ميگويد: پس از كلى فقر، به ثروت و شهرت رسيدم . اموخته ام كه با پول ... ميتوان ساعت خريد، ولى زمان نه ... ميتوان مقام خريد، ولى احترام نه ... ميتوان كتاب خريد، ولى دانش نه... ميتوان دارو خريد ولى سلامتى نه، ميتوان رختخواب خريد، ولى خواب راحت نه ...
ارزش ادمها به دارايى انها نيست به معرفت انهاست
تقدیم به دوستان بامعرفت
ماشین حساب در محیط کنسول #include <iostream>
using namespace std;
void cls()
{
system("cls");
}
int number1, number2;
void Getnumber(); //امضا تابع گرفتن اعداد
int sum(); //امضا تابع جمع
int mul(); // امضا تابع ضرب
float mydiv(); // امضا تابع تقسیم
int min(); // امضا تابع تفریق
int main()
{
char ch;
while (1)
{
cout « " g = Getnumber " « endl;
cout « " * = zarb " « endl;
cout « " + = jam " « endl;
cout « " - = tafrigh" « endl;
cout « " / = taghsim" « endl;
cout « " x = exit " « endl;
cout « "please vared Get_number (g) :";
cin » ch;
cls();
switch (ch)
{
case 'g':Getnumber();
break;
case '*':
{
int m;
m = mul();
cout « "mul is : " « m « endl;
}
break;
case '+': cout « "sum is : " « sum() « endl;
break;
case '-': cout « "min is : " « min() « endl;
break;
case '/': cout « "mydiv is : " « mydiv() « endl;
break;
case 'x':exit(0);
break;
}
}
return 0;
}
void Getnumber()
{
cout « "please vared konid number1 :";
cin » number1;
cout « "please vared konind number2 :";
cin » number2;
}
int sum() // بدنه تابع جمع
{
void Getnumber();
return (number1 + number2);
}
int mul() // بدنه تابع ضرب
{
return (number1 * number2);
}
float mydiv() // بدنه تابع تقسیم
{
return (number1 / (float)number2);
}
int min() // بدنه تابع تفریق
{
return (number1 - number2);
}
//تابع های سینوس . کسینوس . تانژانت .کتانژانت .رادیکال به همین صورت است
using namespace std;
void cls()
{
system("cls");
}
int number1, number2;
void Getnumber(); //امضا تابع گرفتن اعداد
int sum(); //امضا تابع جمع
int mul(); // امضا تابع ضرب
float mydiv(); // امضا تابع تقسیم
int min(); // امضا تابع تفریق
int main()
{
char ch;
while (1)
{
cout « " g = Getnumber " « endl;
cout « " * = zarb " « endl;
cout « " + = jam " « endl;
cout « " - = tafrigh" « endl;
cout « " / = taghsim" « endl;
cout « " x = exit " « endl;
cout « "please vared Get_number (g) :";
cin » ch;
cls();
switch (ch)
{
case 'g':Getnumber();
break;
case '*':
{
int m;
m = mul();
cout « "mul is : " « m « endl;
}
break;
case '+': cout « "sum is : " « sum() « endl;
break;
case '-': cout « "min is : " « min() « endl;
break;
case '/': cout « "mydiv is : " « mydiv() « endl;
break;
case 'x':exit(0);
break;
}
}
return 0;
}
void Getnumber()
{
cout « "please vared konid number1 :";
cin » number1;
cout « "please vared konind number2 :";
cin » number2;
}
int sum() // بدنه تابع جمع
{
void Getnumber();
return (number1 + number2);
}
int mul() // بدنه تابع ضرب
{
return (number1 * number2);
}
float mydiv() // بدنه تابع تقسیم
{
return (number1 / (float)number2);
}
int min() // بدنه تابع تفریق
{
return (number1 - number2);
}
//تابع های سینوس . کسینوس . تانژانت .کتانژانت .رادیکال به همین صورت است
برنامه نویسی هیلتن
Class22.wmv
#include <iostream> چاپ ستاره در سیپلاس پلاس کار با حلقه های تودر تو
using namespace std;
int main()
{
//****
//***
//**
//*
int n;
cout « "Enter number :";
cin » n;
for (int i = n; i >= 1; i--)
{
//for (int j = 1; j <= 5-i; j++)
for (int j = 1; j <= i;j++)
{
cout « "*";
}
cout « endl;
}
return 0;
} //------------------------------------------------------------------------------------------ #include <iostream>
using namespace std;
int main()
{
//*
//**
//***
//****
int n;
cout « "Enter count star : ";
cin » n;
cout « endl;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
cout « "*";
}
cout « endl;
}
return 0;
} //---------------------------------------------------------------------------------------------------------- #include <iostream>
using namespace std;
void o();
void m();
void i();
void d();
int main()
{
cout « endl « "\t" « "___________________Welcome to C++________________________" « endl « endl « "\t";
o();
cout « "_________________________________________________________" « "\t" « endl « endl « "\t";
m();
cout « "_________________________________________________________" « "\t" « endl « endl « "\t";
i();
cout « "_________________________________________________________" « "\t" « endl « endl « "\t";
d();
cout « "_________________________________________________________" « "\t" « endl « endl ;
cout « "\tomid sotooni" « endl « "\t";
cout « "_________________________________________________________" « "\t" « endl « endl;
return 0;
}
void o()
{
for (int a = 1; a < 10; a++)
{
for (int c = 1; c <= a; c++)
{
cout « a;
}
cout « endl « "\t";
}
}
void m()
{
for (int a = 1; a <= 10; a++)
{
for (int c = a - 1; c > 0; c--)
cout « " ";
for (int c = 10; c >= a; c--)
{
if (c <= 9)
cout « (a);
}
cout « endl « "\t";
}
}
void i()
{
for (int a = 1; a <= 10; a++)
{
for (int c = 1; c <= a; c++)
{
cout « "*";
}
cout « endl « "\t";
}
}
void d()
{
for (int a = 1; a <= 10; a++)
{
for (int c = 10; c >= a; c--)
{
cout « "*";
}
cout « endl « "\t";
}
}
using namespace std;
int main()
{
//****
//***
//**
//*
int n;
cout « "Enter number :";
cin » n;
for (int i = n; i >= 1; i--)
{
//for (int j = 1; j <= 5-i; j++)
for (int j = 1; j <= i;j++)
{
cout « "*";
}
cout « endl;
}
return 0;
} //------------------------------------------------------------------------------------------ #include <iostream>
using namespace std;
int main()
{
//*
//**
//***
//****
int n;
cout « "Enter count star : ";
cin » n;
cout « endl;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
cout « "*";
}
cout « endl;
}
return 0;
} //---------------------------------------------------------------------------------------------------------- #include <iostream>
using namespace std;
void o();
void m();
void i();
void d();
int main()
{
cout « endl « "\t" « "___________________Welcome to C++________________________" « endl « endl « "\t";
o();
cout « "_________________________________________________________" « "\t" « endl « endl « "\t";
m();
cout « "_________________________________________________________" « "\t" « endl « endl « "\t";
i();
cout « "_________________________________________________________" « "\t" « endl « endl « "\t";
d();
cout « "_________________________________________________________" « "\t" « endl « endl ;
cout « "\tomid sotooni" « endl « "\t";
cout « "_________________________________________________________" « "\t" « endl « endl;
return 0;
}
void o()
{
for (int a = 1; a < 10; a++)
{
for (int c = 1; c <= a; c++)
{
cout « a;
}
cout « endl « "\t";
}
}
void m()
{
for (int a = 1; a <= 10; a++)
{
for (int c = a - 1; c > 0; c--)
cout « " ";
for (int c = 10; c >= a; c--)
{
if (c <= 9)
cout « (a);
}
cout « endl « "\t";
}
}
void i()
{
for (int a = 1; a <= 10; a++)
{
for (int c = 1; c <= a; c++)
{
cout « "*";
}
cout « endl « "\t";
}
}
void d()
{
for (int a = 1; a <= 10; a++)
{
for (int c = 10; c >= a; c--)
{
cout « "*";
}
cout « endl « "\t";
}
}