25-10-2018, 08:33 PM
اقتباس من الموضوع الأصلي لــ MouradPr
السلام عليكم ورحمة الله
أضع الكود مباشرة وهو من صديق الفصل ببعض التعديل
بالتوفيق... الدالة لها ثلاث برمترات الأول هو سلسلة التدوير والثاني البداية أما الثالث فطول السلسة التي سندورها..
السلام عليكم ورحمة الله
أضع الكود مباشرة وهو من صديق الفصل ببعض التعديل
#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;
}
بالتوفيق... الدالة لها ثلاث برمترات الأول هو سلسلة التدوير والثاني البداية أما الثالث فطول السلسة التي سندورها..
implicit conversion (think forward)