برنامه نویسی هیلتن
13.6K subscribers
1.28K photos
1.86K videos
488 files
1.26K links
آموزش و انجام پروژه برنامه نویسی، طراحی سایت و سئو
تازه های #فناوری، #تکنولوژی و #انگیزشی

تعرفه تبلیغات وانجام پروژه:
t.me/HeiltonAds/205

اینستاگرام:
instagram.com/omidsotooni
Download Telegram
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);
}
کد بالا حل مسئله هشت وزیر به روش بازگشتی با c++ می باشد
Forwarded from Deleted Account
همانطور که دیده میشود یک وزیر می تواند در تمام جهات حرکت کند بنا بر این نبایستی در راستای هم باشند
Forwarded from Deleted Account
مسئله چند وزیر یک معمای شطرنجی و ریاضیاتی است که بر اساس آن باید 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();
}
landscape

چلو گیری از landscape
شدن اکتیویتی
را های مختلفی وجود داره👇
روش اول
<activity android:name=".SomeActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" />
روش دوم برای جلو گیری از land scape
این کد را به فایل
AndroidManifest.xml
اضافه کن یا راه بهتر کد زیر را
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
در تابع onCreate()
بدون یک خط کدنویسی یک وبسایت را تولید کنید