loading...
ادیکام - اموزش ساخت بازی و برنامه نویسی و سورس - Adicom
adicom بازدید : 108 سه شنبه 10 آذر 1394 نظرات (0)

سلام

ماشالله به این همه پشت کار به اون دوست عزیزی که هر روز یه درخواست میفرسته که این مسئله رو حل کنم.

بهرحال هدف کمک به دوستان برای ارتقای سطح برنامه نویسیشون هست

قطعه کدی که شکل پایین را چاپ کند

*

***

*****

***

*

 

 

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();
}




adicom بازدید : 686 شنبه 07 آذر 1394 نظرات (0)

سلام

سورس مسئله مربع جادویی (Magic Square) با جاوا (Java)

مربع جادویی جدولی است 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("");
        }
    }




adicom بازدید : 1583 دوشنبه 02 آذر 1394 نظرات (0)

سلام

يکی از کاربردهای پشته در تبديل عبارت ميانوندی به پسوندی و پيدا کردن مقدار يک عبارت پسوندی است.

يك عبارت (expressions) از عملگرها(operators)، عملوندها(operamds) و پرانتز ساخته شده است.

ميانوندی (infix) : عملگر بين عملوندهايش قرار مي‌گيرد(A+B)

پسوندی (postfix) : عملگر بعد عملوندهايش قرار مي‌گيرد(+AB)

پس 

سورس تبدیل عبارت میانوندی به پسوندی (Infix to Postfix) با جاوا (java) رو قرار میدم.



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);
    }



adicom بازدید : 199 دوشنبه 25 آبان 1394 نظرات (0)

سلام

امروز سورس مسئله جایگشت (Permutation) با جاوا (java) قرار دادم.

امیدوارم مفید باشد.

جایگشت چیست؟

جایگشت در قلمرو ترکیبیاتی آن به معنی مرتب‌سازی یا تغییر ترتیب اعضای یک مجموعه می‌باشد. ممکن است این چیدمان خطی و یا غیر خطی (مثلاً دور یک دایره که در این حالت جایگشت دوری نامیده می‌شود) صورت گیرد.اعضای مجموعه نیز می‌توانند هر چیزی باشند مثلاً شی یا عدد یا حرف و همچنین می‌توانند تکراری باشند یا متمایز.در هر مورد، مهم، تعداد طرق چیدن این اعضا است.

 

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;
    }
}




adicom بازدید : 94 جمعه 22 آبان 1394 نظرات (1)

سلام

امروز سورس مسئله ردیف اجری (Make Bricks) با جاوا (java) قرار میدم.

مسئله به شرح ذیل میباشد :

ما قرار کدی بنویسیم که تشخیص بده از تعدادی اجر مشخص ایا میتوان ردیبف اجری ساخت!

دو نوع اجر داریم بزرگ (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;
}




adicom بازدید : 107 یکشنبه 17 آبان 1394 نظرات (0)

سلام

امروز سورس چرخش رشته  (Rotate String) با جاوا(java) قرار میدم

اول اینکه این مسئله چیست؟ این سوال مربوط به سایت 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);
		} 
	}
}





adicom بازدید : 635 پنجشنبه 07 آبان 1394 نظرات (0)

سلام

سورس تعیین متقارن بودن (Palindrome) رشته به صورت بازگشتی (Recursion) با جاوا(java)  براتون میزارم

امیدوارم مفید باشه

 

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));
    }


adicom بازدید : 176 چهارشنبه 29 مهر 1394 نظرات (0)

سلام

بازهم حل مسئله درخواستی!!

سورس شمارش تعداد بیت ها (Bit Count) با جاوا(java)

این مسئله در مورد تعداد بیت های یک مربوط به یک عدد هست

به این صورت که عدد 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);
    }
}




تعداد صفحات : 6

درباره ما
اموزش ساخت بازی و اموزش برنامه نویسی سورس پی اچ پی سورس سی پلاس پلاس جاوا سورس اندروید c++ php java android اموزش سی پلاس پلاس اموزش ساخت بازی کیوت qt
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آمار سایت
  • کل مطالب : 60
  • کل نظرات : 12
  • افراد آنلاین : 1
  • تعداد اعضا : 1
  • آی پی امروز : 25
  • آی پی دیروز : 14
  • بازدید امروز : 102
  • باردید دیروز : 17
  • گوگل امروز : 2
  • گوگل دیروز : 0
  • بازدید هفته : 340
  • بازدید ماه : 964
  • بازدید سال : 4,460
  • بازدید کلی : 66,154