امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
درخواست یک برنامه جایگشت در C++
نویسنده پیام
homayoon_sa آفلاین
تازه وارد

ارسال‌ها: 2
موضوع‌ها: 1
تاریخ عضویت: تير ۱۳۸۸

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
درخواست یک برنامه جایگشت در C++
سلام
خواهش می کنم در برنامه زیر به من کمک کنید:

1. از کاربر تعداد کاراکتر های ورودی را دریافت کند (n تا)
2. n تا کاراکتر را از کاربر بگیرد ( حرف و عدد )
3. تمام جایگشت های این n کاراکتر را چاپ کند در حالی که :
الف) اولین جایگشت چاپ شده همان ترتیبی باشد که کاربر وارد کرده
ب) در تمامی جایگشت ها، اولین کاراکتری که کاربر وارد کرده است، اول باشد (کاراکتر اول در جایگشت حساب نشود)


خیلی ممنون می شم اگه تا آخر هفته جواب منو بدید! قضیه مرگ و زندگی در میونه!!!
ممنون می شم اگه با پایه ای ترین کد های c++ بنویسید
۰۸-تير-۱۳۸۸, ۲۳:۴۷:۰۷
ارسال‌ها
پاسخ
mahdi20 آفلاین
کاربر با تجربه
****

ارسال‌ها: 518
موضوع‌ها: 35
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 5261
( 1763 تشکر در 452 ارسال )
ارسال: #2
RE: درخواست یک برنامه جایگشت در C++
خودم در بست در خدمتتم.

فقط بگو بینم این جایگشت چیه؟ فورمولش چیه؟؟؟؟؟
من یادم رفته.

بعدش من چهارشنبه بعد از ظهر میتونم جوابتو بدم. اگه دیر نیست خبرم کن.
اگر هم دیره که شرمندتم

[تصویر:  iran2.png]
۰۹-تير-۱۳۸۸, ۰۱:۳۷:۵۲
وب سایت ارسال‌ها
پاسخ
homayoon_sa آفلاین
تازه وارد

ارسال‌ها: 2
موضوع‌ها: 1
تاریخ عضویت: تير ۱۳۸۸

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: درخواست یک برنامه جایگشت در C++
(۰۹-تير-۱۳۸۸, ۰۱:۳۷:۵۲)mahdi20 نوشته است: خودم در بست در خدمتتم.

فقط بگو بینم این جایگشت چیه؟ فورمولش چیه؟؟؟؟؟
من یادم رفته.

بعدش من چهارشنبه بعد از ظهر میتونم جوابتو بدم. اگه دیر نیست خبرم کن.
اگر هم دیره که شرمندتم

مهدی جان سلام
نه اصلاً دیر نیست. ممنونت می شم.

مثال یرای جایگشت:
فرض کن کاراکترهای ورودی برنامه اینا باشن:
َA B C 4 2 D
حالا برنامه باشد انواع ترتیب های قرارگیری این کاراکترها را کنار هم، چاپ کنه! (با توجه به محدودیت هایی که در بالا گفتم)
چند نمونه :
A B C 4 2 D
A B C 4 D 2
A B C D 4 2
....
به فایل پیوست هم نگاهی بنداز


فایل‌(های) پیوست شده
.zip   Project-Jaygasht.zip (اندازه: 151.51 KB / تعداد دفعات دریافت: 380)
۰۹-تير-۱۳۸۸, ۰۷:۲۵:۰۱
ارسال‌ها
پاسخ
behnezhad آفلاین
كاربر تک ستاره
*

ارسال‌ها: 58
موضوع‌ها: 28
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 0
( 11 تشکر در 5 ارسال )
ارسال: #4
RE: درخواست یک برنامه جایگشت در C++
سلام!
من اگه جای شما بودم میومدم این کارو می کردم:
اول اون جایگشتیو که به ما دادن چاپ می کردم!
بعد n-1 عنصر آخرشو می ریختم تو یه آرایه(اگر عددات میتونن چند رقمی باشن آرایت از نوع string باشه در غیر این صورت کاراکتر بگیری کافیه) و بعد سورتشون میکردم سپس اون آرایه رو !(n-1) بار چاپ می کردم و با دستور جایگشت بعدی تبدیلش می کردم به جایگشت بعدی دوباره چاپ می کردم و ....
دستور جایگشت بعدی یک آرایه از عنصر a تا a+b اینجوریه:

;(next_permutation(a, a+b

تازه فهميدم ++C چه دنياييه!!

راستي اگه سراغ سايتم‌(mscode.ir) رو مي خوايد بگيريد بايد بگم متاسفانه سرم چند وقته شلوغه (بخاطر المپياد کامپيوتر)‌ ايشالا حداکثر يه سال ديگه دوباره راه اندازي مي شه!
براي موفق شدنم تو المپياد دعا کنيد......
۲۷-شهریور-۱۳۸۸, ۰۷:۳۶:۳۷
وب سایت ارسال‌ها
پاسخ
B.don آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: بهمن ۱۳۹۰

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: درخواست یک برنامه جایگشت در C++
سلام
میشه الگوریتم ویا کد این برنامه رو بزارید
من خیلی فکر کردم ولی به مشکل میخورم
من هم نیاز دارم
با تشکرShyRolleyes

۳۰-بهمن-۱۳۹۰, ۰۰:۰۸:۰۴
ارسال‌ها
پاسخ
sjh آفلاین
كاربر دو ستاره
**

ارسال‌ها: 77
موضوع‌ها: 22
تاریخ عضویت: اردیبهشت ۱۳۹۱

تشکرها : 150
( 99 تشکر در 40 ارسال )
ارسال: #6
RE: درخواست یک برنامه جایگشت در C++
این برنامه رو ببین فکر کنم همونی که می خوای


فایل‌(های) پیوست شده
.txt   c++.txt (اندازه: 628 bytes / تعداد دفعات دریافت: 197)
(آخرین ویرایش در این ارسال: ۱۶-اردیبهشت-۱۳۹۱, ۱۴:۲۶:۲۱، توسط sjh.)
۱۶-اردیبهشت-۱۳۹۱, ۱۴:۲۳:۲۴
ارسال‌ها
پاسخ
تشکر شده توسط : mahdimmj
hacker72 آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: بهمن ۱۳۹۱

تشکرها : 0
( 1 تشکر در 1 ارسال )
ارسال: #7
RE: درخواست یک برنامه جایگشت در C++
این کد هم ممکنه بدردتون بخوره ...
ممنون از همه .

کد:
#include<iostream>

using namespace std;

int c, K, N;

void permute(char a[], int i);
void swap(char* x, char* y);

int main(void)
{
    int t;
    char a[]="123456789";
    cin >> t;
    for(int i=1; i<=t; i++)
    {
        cin >> N >> K;//N denotes number of letters and K denotes number of permutations
        cout << "Case " << i <<":" << endl;
        c=0;
        permute(a,0);
    }
    return 0;
}

void permute(char* a, int i)
{
    if(i==N-1)
    {
        for(int j=0; j<N; j++)
            cout << a[j];
        cout << endl;
        c++;
        return;
    }
    else
    {
        for(int j=i; j<N && c<K; j++)
        {
            swap(&a[i],&a[j]);
            permute(a,i+1);
            swap(&a[i],&a[j]);
        }
    }
    return;
}

void swap(char* x, char* y)
{
    char temp;
    temp=*x;
    *x=*y;
    *y=temp;
    return;
}
(آخرین ویرایش در این ارسال: ۲۸-دى-۱۳۹۲, ۱۸:۲۴:۱۵، توسط babyy.)
۲۸-دى-۱۳۹۲, ۱۸:۰۴:۳۸
ارسال‌ها
پاسخ
تشکر شده توسط : babyy
f.akrami1995 آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 0
تاریخ عضویت: بهمن ۱۳۹۲

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #8
RE: درخواست یک برنامه جایگشت در C++
سلام دوستان خسته نباشید سوال منم همینه اما الگوریتمم به این صورته که اول میام دو تا رشته میگیرم بعد بهم میچسبونمشون بعدشو از توی همه جایگشت ها اونایی که به ترتیب هستن رو جدا میکنم اما ی قسمتیش کار نمیکنه خیلی روش فکر کردم اما به نتیجه نمیرسم اگه میشه کمکم کنین مررررررررررررررررررررررررررررررررررسی

اینم کدمه
کد php:
#include <iostream>
#include <string>
#include <string.h>
using namespace std;

void main()
{
    
int tst;
    
cout<<"Enter test case : ";
    
cin>>tst;
    for(
int count 0  count tst count++ )
    {
      
int ni;
      
char str1[10] ;
      
char str2[10];
      
cin>>str1;
      
cin>>str2;

      
char *a[20];
      *
strcat(str1,str2);

      
int flag;
      
void Jaygasht(char a[20], int kint n) ;
  
      
strlen(*a) ;
      
Jaygasht(*akn);

      
int pos1 pos2 ;
     
/* for(int i = 0 ; i <strlen(str1) ; ++i)
      {
          for(int j = i + 1 ; j < strlen(str2) ; ++j)
          {*/
              
for(int k strlen(str1) ; ++k)
              {
                  
//if(*a[i] == str1[k])
                    //  pos1 = k;
                  //if(*a[j] == str1[k])
                    //  pos2 = k;
                  
int i=0;
                  while(*
a[i]!=str1[k])
                  {
                      
i++;
                  }
                    
pos1=i;
                
int j=0;
                while(*
a[j]!=str1[k++])
                {
                    
j++;
                }
                
pos2=j;
                  if(
pos1 pos2)
                        break;

                    
//     if(flag == 1)
                        // {
                            //  for(int k = 0 ; k <strlen(str2) ; ++k)
             // {
                  //if(*a[i] == str1[k])
                    //  pos1 = k;
                  //if(*a[j] == str1[k])
                    //  pos2 = k;
                /*  int j=0;
                  while(*a[j]!=str2[k])
                  {
                      j++;
                  }
                    pos1=i;
                    pos2=k;
                  if(pos1 > pos2)
                         flag++;
                            break;
                
                    */    
                         
cout<<*a<<endl;
                         
                         
              }}
while(
1);
}

void Jaygasht(char a[20], int kint n)
{
  
char td[10] ;
  
int i ;
  if(
== n)//n = strlen(a)
  
{
    
cout<<a<<endl ;
    return ;
  }
  else
  {
    for(
i++)
    {
      
a[i] ;
      
a[i] = a[k] ;
      
a[k] = ;
      
strcpy(da) ;
      
Jaygasht(dk+1n) ;
    }
  }

دوستان به زبان c++هس
(آخرین ویرایش در این ارسال: ۱۶-بهمن-۱۳۹۲, ۱۴:۱۵:۳۵، توسط babyy.)
۱۶-بهمن-۱۳۹۲, ۰۲:۱۱:۳۴
ارسال‌ها
پاسخ
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #9
RE: درخواست یک برنامه جایگشت در C++
(۱۶-بهمن-۱۳۹۲, ۰۲:۱۱:۳۴)f.akrami1995 نوشته است: سلام دوستان خسته نباشید سوال منم همینه اما الگوریتمم به این صورته که اول میام دو تا رشته میگیرم بعد بهم میچسبونمشون بعدشو از توی همه جایگشت ها اونایی که به ترتیب هستن رو جدا میکنم اما ی قسمتیش کار نمیکنه خیلی روش فکر کردم اما به نتیجه نمیرسم اگه میشه کمکم کنین مررررررررررررررررررررررررررررررررررسی

اینم کدمه
کد:
#include <iostream>
#include <string>
#include <string.h>
using namespace std;

void main()
{
    int tst;
    cout<<"Enter test case : ";
    cin>>tst;
    for(int count = 0  ; count < tst ; count++ )
    {
      int n, i, k = 0 ;
      char str1[10] ;
      char str2[10];
      cin>>str1;
      cin>>str2;

      char *a[20];
      *a = strcat(str1,str2);

      int flag;
      void Jaygasht(char a[20], int k, int n) ;
  
      n = strlen(*a) ;
      Jaygasht(*a, k, n);

      int pos1 , pos2 ;
     /* for(int i = 0 ; i <strlen(str1) ; ++i)
      {
          for(int j = i + 1 ; j < strlen(str2) ; ++j)
          {*/
              for(int k = 0 ; k < strlen(str1) ; ++k)
              {
                  //if(*a[i] == str1[k])
                    //  pos1 = k;
                  //if(*a[j] == str1[k])
                    //  pos2 = k;
                  int i=0;
                  while(*a[i]!=str1[k])
                  {
                      i++;
                  }
                    pos1=i;
                int j=0;
                while(*a[j]!=str1[k++])
                {
                    j++;
                }
                pos2=j;
                  if(pos1 > pos2)
                        break;

                    //     if(flag == 1)
                        // {
                            //  for(int k = 0 ; k <strlen(str2) ; ++k)
             // {
                  //if(*a[i] == str1[k])
                    //  pos1 = k;
                  //if(*a[j] == str1[k])
                    //  pos2 = k;
                /*  int j=0;
                  while(*a[j]!=str2[k])
                  {
                      j++;
                  }
                    pos1=i;
                    pos2=k;
                  if(pos1 > pos2)
                         flag++;
                            break;
                
                    */    
                         cout<<*a<<endl;
                        
                        
              }}
while(1);
}

void Jaygasht(char a[20], int k, int n)
{
  char t, d[10] ;
  int i ;
  if(k == n)//n = strlen(a)
  {
    cout<<a<<endl ;
    return ;
  }
  else
  {
    for(i = k ; i < n ; i++)
    {
      t = a[i] ;
      a[i] = a[k] ;
      a[k] = t ;
      strcpy(d, a) ;
      Jaygasht(d, k+1, n) ;
    }
  }
}
دوستان به زبان c++هس

اون ی قسمت کدوم قسمت هست؟؟؟

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۱۶-بهمن-۱۳۹۲, ۱۰:۲۸:۱۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy
f.akrami1995 آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 0
تاریخ عضویت: بهمن ۱۳۹۲

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #10
RE: درخواست یک برنامه جایگشت در C++
این قسمتش
کد php:
int pos1 pos2 ;
     
/* for(int i = 0 ; i <strlen(str1) ; ++i)
      {
          for(int j = i + 1 ; j < strlen(str2) ; ++j)
          {*/
              
for(int k strlen(str1) ; ++k)
              {
                  
//if(*a[i] == str1[k])
                    //  pos1 = k;
                  //if(*a[j] == str1[k])
                    //  pos2 = k;
                  
int i=0;
                  while(*
a[i]!=str1[k])
                  {
                      
i++;
                  }
                    
pos1=i;
                
int j=0;
                while(*
a[j]!=str1[k++])
                {
                    
j++;
                }
                
pos2=j;
                  if(
pos1 pos2)
                        break;

                    
//     if(flag == 1)
                        // {
                            //  for(int k = 0 ; k <strlen(str2) ; ++k)
             // {
                  //if(*a[i] == str1[k])
                    //  pos1 = k;
                  //if(*a[j] == str1[k])
                    //  pos2 = k;
                /*  int j=0;
                  while(*a[j]!=str2[k])
                  {
                      j++;
                  }
                    pos1=i;
                    pos2=k;
                  if(pos1 > pos2)
                         flag++;
                            break;
                
                    */    
                         
cout<<*a<<endl;
                         
                         
              }} 
(آخرین ویرایش در این ارسال: ۱۶-بهمن-۱۳۹۲, ۲۰:۲۶:۴۴، توسط babyy.)
۱۶-بهمن-۱۳۹۲, ۱۹:۱۵:۴۰
ارسال‌ها
پاسخ
sadraghasemi20 آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: فروردین ۱۳۹۵

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #11
RE: درخواست یک برنامه جایگشت در C++
سلام من  برنامه نویسی در اکسل را نمیدونم اما به  فرمولی که  جایگشتهای مختلف را حساب کنه نیازدارم میشه کمک کنید
۱۹-فروردین-۱۳۹۵, ۱۸:۴۳:۳۵
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Question درخواست برنامه ای به زبان ++C saeidengman 11 15,555 ۰۵-تير-۱۳۹۶, ۱۱:۴۷:۰۱
آخرین ارسال: alivolley
Question درخواست کمک برایه برنامه نویسی ++C yosefpor 10 9,541 ۱۳-خرداد-۱۳۹۳, ۰۰:۲۷:۰۷
آخرین ارسال: babyy
  [سوال] برنامه‌ی جایگشت و زیر‌مجموعه b-andishe 7 8,118 ۱۸-بهمن-۱۳۹۲, ۰۳:۳۰:۲۲
آخرین ارسال: f.akrami1995
  درخواست (فوری)برنامه توسط c++ farah.luci 1 3,525 ۳۱-مرداد-۱۳۹۱, ۲۱:۱۱:۰۳
آخرین ارسال: masterhe3ar
  برنامه جایگشت حروف panni-love 5 7,545 ۱۷-اردیبهشت-۱۳۹۱, ۱۱:۳۳:۵۳
آخرین ارسال: sjh
  درخواست دانلود برنامه rahimpour 3 3,488 ۱۷-اردیبهشت-۱۳۹۱, ۱۱:۰۰:۳۴
آخرین ارسال: sjh
Question درخواست یک برنامه sjh 0 2,165 ۱۷-اردیبهشت-۱۳۹۱, ۱۰:۴۸:۴۹
آخرین ارسال: sjh
  درخواست برنامه كراسكال naznaz 0 2,323 ۳۰-تير-۱۳۸۹, ۱۵:۱۴:۱۲
آخرین ارسال: naznaz
  درخواست برنامه اشک 2 3,355 ۱۶-آبان-۱۳۸۸, ۰۱:۲۸:۱۷
آخرین ارسال: اشک
  درخواست برنامه mam_1371 10 8,610 ۰۸-مهر-۱۳۸۸, ۱۹:۰۰:۴۰
آخرین ارسال: حسینی بلدستی

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS