الفريق العربي للهندسة العكسية

نسخة كاملة : BruteForce algo [C] sc
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اقتباس من الموضوع الأصلي لــ MouradPr


السلام عليكم ورحمة الله

أضع الكود مباشرة وهو من صديق الفصل  Smile ببعض التعديل

#include<stdio.h>
#include<string.h>
#include<conio.h>
void bruteforce(char *rot,char *debut,int len);
void bruteforce(char *rot,char *debut,int len){
int *rotint=(int *)malloc(len);
int i,j;
char *ch=(char *)malloc(len);
int lrot=strlen(rot);
for(i=0;i<len;i++)
    {
    for(j=0;j<lrot;j++)
        {
        if(debut[i]==rot[j])
            {
                rotint[len-i-1]=j;
            }
        }
    }

    ch[len]='\0';
    rotint[len]='\0';
    while(rotint[len]=='\0'){

        for(i=0;i<len;i++)
        {
            ch[len-i-1]=rot[rotint[i]];
        }
        printf("%s\n",ch);
        rotint[0]++;
        for(i=0;i<len;i++)
            {
            if(rotint[i]==lrot){
            rotint[i]=0;
            rotint[i+1]++;
            }
        }
    }
    free(ch);
    free(rotint);
}

int main(){
    bruteforce("0123456789abcdABCD","0AB0",4);
    return 0;
    }

بالتوفيق... الدالة لها ثلاث برمترات الأول هو سلسلة التدوير والثاني البداية أما الثالث فطول السلسة التي سندورها..