تمامی حالت های عدد چهار رقمی در سی شارپ
سوال
سلام بچه ها
برنامه ای بنویسید که کلیه اعداد چهار رقمی ای که فقط از ارقام ۲ ، ۱ ، ۴ و ۹ تشکیل شده باشند و هر رقم یک بار تکرار شده باشد را نمایش دهد.
ممنون از انجمن پرسش و پاسخ متخصصان کامپیوتر درسمن
در حال بررسی
1
انجمن برنامه نویسان سی شارپ
4 سال
2 پاسخ ها
1525 دیده شده
0
پاسخ ها ( ۲ )
سلام به کاربر محترم انجمن پرسش و پاسخ درسمن
درود بر شما دوست عزیز.
در داخل ویژوال استودیو یک فرم بساز وآیتمهای زیر را بهش اضافه کن
button1
برای اجرای دستور
lable1
این لیبیل برای پیغام وارد کردن عدد از کاربر
lable2
این لیبیل برای پیغام انجام عملیات
TextBox1
برای وارد کردن اعداد
listBox1
برای نمایش خروجی
در داخل رخداد دکمه کد زیر را کپی کن و اجرا بگیر.این برنامه برای محاسبه حالتهای n عدد هستش
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Permutation
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
void swap(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
void Permutation(int[] a, int k, ListBox list)
{
string res = “”;
if (k == a.Length – 1)
{
foreach (int i in a)
{
res += i.ToString() + “,”;
}
res += “rn”;
list.Items.Add(res);
res = “”;
}
else
{
for (int i = k; i < a.Length; i++)
{
swap(ref a[i], ref a[k]);
Permutation(a, k + 1, list);
swap(ref a[i], ref a[k]);
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "";
this.RightToLeft = RightToLeft.Yes;
}
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
int n = Convert.ToInt32(textBox2.Text);
int[] a = new int[n];
for (int i = 0; i < n; i++)
a[i] = i + 1;
Permutation(a, 0, listBox1);
label1.Text = listBox1.Items.Count.ToString() + " حالت ";
}
}
}