بلغتك البرمجية المفضلة - أٌكتب برنامج لحساب أكبر عدد من كلمات السر

تحية طيبة

باللغة البرمجية التي تتقنها، أُكتب برنامج يطلب من المستخدم أدخال أرقام وأحرف لإيحاد أكبر عدد من كلمات السر!

=======

مثال:

المستخدم: 123

المفروض من البرنامج أن يطبع:

123

132

213

231

312

321

=======


هذا بلغة ++C

لكن على حد علمي أنه لابد من تحديد عدد الخانات (مثلاً هنا 3 ) بشكل مسبق

#include<iostream>
using namespace std;

int main ()
{
    const int size=3;
    char input[size];
    cin>>input;


    for (int i=0; i<size; i++)
      for (int j=0; j<size; j++)
        for (int q=0; q<size; q++)
          cout <<input[i]<<input[j]<<input[q]<<endl;


}

لست متأكداً إن كان هناك خوارزمية أخرى بإمكانها تلافي مشكلة تحديد الخانات مسبقاً ..!!

صحيح، يجب تحديد عدد الخانات!

برنامجك جيد، ولكنه يحتاج أن يكون الإدخال أحرف و أرقام!

حاليًا برنامجك يطبع فقط أرقام أو أحرف!

  • إضافة *

إذا كان لابد أن تحتوي كل كلمة سر على الثلاثة الأحرف معاً

يضاف هذا السطر قبل السطر الأخير (cout)

 if (input[i]!=input[j] && input[j]!=input[q] && input[i]!=input[q])

تستطيع من خلال الـــ char أن تستخدم الأحرف والأرقام والرموز ... كلها يعاملها على أنها أحرف

كمثال ادخل هذا (*a1) وسيظهر لك جميع التشكيلات الممكنة