سلام
یه نمونه شبیه سازی شده الگوریتم ا ستاره (A Star) با کیوت (Qt) - سی پلاس پلاس (C++) رو انجام دادم
که فقط به منظور نمونه کار قرار داده شده
یا حق
سلام
ماشالله به این همه پشت کار به اون دوست عزیزی که هر روز یه درخواست میفرسته که این مسئله رو حل کنم.
بهرحال هدف کمک به دوستان برای ارتقای سطح برنامه نویسیشون هست
قطعه کدی که شکل پایین را چاپ کند
*
***
*****
***
*
int n = 5; for(int i=0; i<n; i++) { if(i<n/2+1) { for(int j=0; j<i*2+1; j++) { System.out.print("*"); } } else { for(int j=(n-i)*2-2; j>=0; j--) { System.out.print("*"); } } System.out.println(); }
سلام
مربع جادویی جدولی است n * n خانه، که خانه های آن با عددهای مثبت از ۱ تا n به ترتیبی پر شده است که مجموع عددهای هر ردیف افقی و یا هر ستون عمودی و یا هر قطر آن، عددی ثابت را نشان دهد. شکل رایج آن شامل اعداد ۱ تا n است ولی گاهی برای کلمات نیز استفاده می شود.
public static void magicSquare(int size) { int[][] square = new int[10][10]; if (size < 1 || size > 10) { System.out.println("Error! Size is out of range"); return; } if (size % 2 == 0) { System.out.println("Error! Size is even"); return; } for (int k = 0; k < size; k++) for (int l = 0; l < size; l++) square[k][l] = 0; square[0][(size - 1) / 2] = 1; int i, j, row, column; i = 0; j = (size - 1) / 2; for (int c = 2; c <= size * size; c++) { row = (i - 1 < 0) ? (size - 1) : (i - 1); column = (j - 1 < 0) ? (size - 1) : (j - 1); if (square[row][column] > 0) i = (++i) % size; else { i = row; j = (j - 1 < 0) ? (size - 1) : --j; } square[i][j] = c; } for (int k = 0; k < size; k++) { for (int l = 0; l < size; l++) { if (square[k][l] < 10) System.out.print("0" + square[k][l] + " | "); else System.out.print(square[k][l] + " | "); } System.out.println(""); } }
سلام
يکی از کاربردهای پشته در تبديل عبارت ميانوندی به پسوندی و پيدا کردن مقدار يک عبارت پسوندی است.
يك عبارت (expressions) از عملگرها(operators)، عملوندها(operamds) و پرانتز ساخته شده است.
ميانوندی (infix) : عملگر بين عملوندهايش قرار ميگيرد(A+B)
پسوندی (postfix) : عملگر بعد عملوندهايش قرار ميگيرد(+AB)
پس
public static void toPostfix(String str) { String temp = ""; Stack<Character> stack = new Stack<Character>(); for (int i = 0; i < str.length(); i++) { if ((str.charAt(i) >= 'a' && str.charAt(i) <= 'z') || (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')) { temp += str.charAt(i); } else if (str.charAt(i) == '+' || str.charAt(i) == '-') { while (stack.size() > 0) { if (stack.peek() != '(') temp += stack.pop(); else stack.pop(); } stack.push(str.charAt(i)); } else if (str.charAt(i) == '*' || str.charAt(i) == '/') { try { while (stack.peek() == '*' || stack.peek() == '/') { temp += stack.pop(); } } catch (EmptyStackException e) {} stack.push(str.charAt(i)); } else if (str.charAt(i) == '(') { stack.push(str.charAt(i)); } else if (str.charAt(i) == ')') { try { while (stack.peek() != '(') { temp += stack.pop(); } } catch (EmptyStackException e) {} } } while (stack.size() > 0) { if (stack.peek() != '(') temp += stack.pop(); else stack.pop(); } System.out.println(temp); }
سلام
امیدوارم مفید باشد.
جایگشت چیست؟
جایگشت در قلمرو ترکیبیاتی آن به معنی مرتبسازی یا تغییر ترتیب اعضای یک مجموعه میباشد. ممکن است این چیدمان خطی و یا غیر خطی (مثلاً دور یک دایره که در این حالت جایگشت دوری نامیده میشود) صورت گیرد.اعضای مجموعه نیز میتوانند هر چیزی باشند مثلاً شی یا عدد یا حرف و همچنین میتوانند تکراری باشند یا متمایز.در هر مورد، مهم، تعداد طرق چیدن این اعضا است.
class Hello { public static char[] list = { 'a', 'b', 'c' }; public static void main(String[] args) throws java.lang.Exception { perm(0, list.length - 1); } public static void perm(int i, int n) { int j, temp; if (i == n) { for (j = 0; j <= n; j++) System.out.print("" + list[j]); System.out.println(); } else { for (j = i; j <= n; j++) { swap(i, j); perm(i + 1, n); swap(i, j); } } } public static void swap(int i, int j) { char temp; temp = list[i]; list[i] = list[j]; list[j] = temp; } }
سلام
مسئله به شرح ذیل میباشد :
ما قرار کدی بنویسیم که تشخیص بده از تعدادی اجر مشخص ایا میتوان ردیبف اجری ساخت!
دو نوع اجر داریم بزرگ (5 واحد) و کوچک (1 واحد)
مسئله تعداد اجرها رو مشخص میکنه و اندازه ردیف رو و باید تشخیص بده میشه یا نه
مثال
makeBricks(3, 1, 8) → true
makeBricks(3, 1, 9) → false
makeBricks(3, 2, 10) → true
public boolean makeBricks(int small, int big, int goal) { while(goal>=5 && big>0){ goal -= 5; big--; } while(goal>=1 && small>0){ goal -= 1; small--; } if(goal==0) return true; else return false; }
سلام
اول اینکه این مسئله چیست؟ این سوال مربوط به سایت CodeAbbey میشود
در سوال خواسته شده که یک عدد با یک رشته داده میشود و باید زیررشته بعد از ایندکس داده شده در اول بیاد
و اگر منفی بود از زیر رشته از اخر جدا بشه و به اول اضافه بشه
input data:
3 forwhomthebelltolls
-6 verycomplexnumber
answer:
whomthebelltollsfor numberverycomplex
import java.util.*; import java.lang.*; import java.io.*; class Adicom { public static void main (String[] args) throws java.lang.Exception { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); for (int i=0; i<n; i++) { int len = sc.nextInt(); String str = sc.nextLine(); str = str.trim(); if(len<0) { len = str.length() + len; } String first = str.substring(len); String end = str.substring(0, len); System.out.print(" " + first + end); } } }
سلام
امیدوارم مفید باشه
public static boolean isPalindrome(String str) { System.out.println(str); int len = str.length(); if (len == 1) return true; if (len == 2) return (str.charAt(0) == str.charAt(1)); if (str.charAt(0) != str.charAt(len - 1)) { return false; } return isPalindrome(str.substring(1, len - 1)); }
سلام
بازهم حل مسئله درخواستی!!
این مسئله در مورد تعداد بیت های یک مربوط به یک عدد هست
به این صورت که عدد 8 به صورت باینری 1000 میباشد که دارای یک یک میباشد!
پس راه حل به این صورت است عدد تبدیل به دودویی بشه و بعد شمرده بشه.
من در این کد از تابع toBinaryString از کلاس Integer استفاده کردم که رشته برمیگردونه و بعد تعداد کاراکتر یک در رشته رو بررسی کردم.
import java.util.*; import java.lang.*; import java.io.*; class Adicom { public static void main (String[] args) { int num = sc.nextInt(); String str = Integer.toBinaryString(num); int one = 0; for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == '1') { one++; } } System.out.print(" " + one); } }
سلام
کمتر کسی پیش میاد که بازی 2048 رو بازی نکرده باشد.
من نیز این بازی را واسه نمونه و تست ساخنم
شات
تعداد صفحات : 6