mno a tu je source listitng (plny forov a printfov...cisty profik :-)):/*
[ prima generator ]
source by : phonw
http://phonw.host.sk
*/
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
void check(int cisla[14])
{
int x;
for(x=0;x<=13;x++)
{
if(!(cisla[x]>=0 && cisla[x]<=9))
{
printf("...bad");
printf("nn[ eXit ]");
exit(1);
}
}
}
void main()
{
FILE *out;
int first[14],second[14],new[14],zal[14],zalx[14];
int a,b,z,k,q,p;
clrscr();
//prve cislo
printf("[ first ] : ");
for(a=0;a<=13;a++)
{
first[a]=getche();
first[a]=first[a]-48;
}
check(first);
printf("...ok");
//druhe cislo
printf("n[ second ] : ");
for(a=0;a<=13;a++)
{
second[a]=getche();
second[a]=second[a]-48;
}
check(second);
printf("...ok");
//otvor vystup
if((out=fopen("prima.num","w"))==NULL)
{
printf("nn[ chyba pri vytvarani vystupu ]");
exit(1);
}
//kolko xes ?
printf("n[ kolko xes ] : ");
fscanf(stdin,"%i", &k);
fprintf(out,"[ prima generator ]nn");
for(q=1;q<=k;q++)
{
if(q%2==0)
{
for(a=0;a<=13;a++) zalx[a]=new[a];
}
//vypocet
//najdi vacsie...
for(a=0;a<=13;a++)
{
if(first[a]>second[a]) break;
if(second[a]>first[a])
{
for(b=0;b<=13;b++)
{
zal[b]=first[b];
first[b]=second[b];
second[b]=zal[b];
}
}
}
//zisti ako moc sa podobaju...
b=0;
for(a=0;a<=13;a++)
{
if(first[a]!=second[a]) break;
else
b++;
}
//vytvor cast noveho cisla...
for(a=0;a<=b-1;a++) new[a]=second[a];
//generuj zvysok...
for(a=b;a<=13;a++)
{
z=first[a]-second[a];
if(z>9) z=z-10;
if(z<0) z=abs(z);
new[a]=z;
}
//zapis do fajlu
for(a=0;a<=13;a++) fprintf(out,"%i",new[a]);
fprintf(out,"n");
//pre novy vypocet
for(a=0;a<=13;a++)
{
zal[a]=second[a];
second[a]=new[a];
first[a]=zal[a];
}
//ak sa opakuju tak padaj...
p=0;
for(a=0;a<=13;a++)
{
if(zalx[a]==first[a]) p++;
}
if(p==14)
{
fprintf(out,"n%i/%i",k,q);
fclose(out);
printf("nn[ done ]");
exit(0);
}
}
fprintf(out,"n%i/%i",k,q);
printf("nn[ done ]");
fclose(out);
}
Text aj zdrojak je bez zaruky. Blackhole.sk ho netestoval. !!!
<--Cult Of Dialing Cow-->
CODiC
-=phonw=-