Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "head.h"
- #define SIZE 10
- #define FPS 10
- void creditsScroll()
- {
- clrscr();
- for(int o=24;o>=1;o--)
- {
- delay(30);
- gotoxy(30,o);
- cout<<" Thank You";
- gotoxy(30,o+1);
- cout<<"Program by Frooster";
- gotoxy(30,o+2);
- cout<<" XII A";
- delay(30);
- clrscr();
- }
- }
- void stepAnim(int k)
- {
- gotoxy(1,3);
- cout<<"\t\t\tSELECTION SORT USING ANIMATION"<<endl;
- cout<<"\t\t\t==============================";
- gotoxy(37,9);
- cout<<"STEP "<<k;
- gotoxy(37,10);
- cout<<"~~~~~~";
- if(k==10)
- cout<<"~";
- }
- int returnPos(int x)
- {
- switch(x)
- {
- case 1: return 1;
- case 2: return 9;
- case 3: return 17;
- case 4: return 25;
- case 5: return 33;
- case 6: return 41;
- case 7: return 49;
- case 8: return 57;
- case 9: return 65;
- case 10: return 73;
- }
- }
- void swap(int &x,int &y)
- {
- int temp;
- temp=x;
- x=y;
- y=temp;
- }
- void main()
- {
- //Declarations
- int a[SIZE];//={7,9,4,3,1,0,2,5,8,6}; <--Remove comment if you dont want to input array and comment "Array Input"
- int csize=10,cstart=0,cpos;
- clrscr();
- //Array Input
- cout<<"Enter an array:\n";
- for(int i=0;i<SIZE;i++)
- cin>>a[i];
- //Array Output
- clrscr();
- gotoxy(1,14);
- for(int j=0;j<SIZE;j++)
- cout<<a[j]<<"\t";
- //Animation
- for(int k=1;k<=SIZE;k++)
- {
- stepAnim(k);
- int cmin=99,l=0;
- for(l=cstart;l<=csize;l++)
- {
- if(a[l]<cmin)
- {
- cmin=a[l];
- cpos=l;
- }
- }
- cpos++;
- //Move Up-Down
- getch();
- gotoxy(returnPos(cpos),14);
- cout<<" ";
- delay(FPS);
- gotoxy(returnPos(cpos),13);
- cout<<cmin;
- delay(FPS);
- gotoxy(returnPos(cstart+1),14);
- cout<<" ";
- delay(FPS);
- gotoxy(returnPos(cstart+1),15);
- cout<<a[cstart];
- delay(FPS);
- //Move Left-Right
- for(int q=0;q<=returnPos(cpos)-1;q++)
- {
- gotoxy(cstart+q,15);
- cout<<" ";
- delay(FPS);
- gotoxy(cstart+q+1,15);
- cout<<a[cstart];
- delay(FPS);
- gotoxy(returnPos(cpos)-q,13);
- cout<<" ";
- delay(FPS);
- gotoxy(returnPos(cpos)-q-1,13);
- cout<<cmin;
- delay(FPS);
- }
- //Move Up-Down
- gotoxy(cstart+1,13);
- cout<<" ";
- delay(FPS);
- gotoxy(cstart+1,14);
- cout<<cmin;
- delay(FPS);
- gotoxy(returnPos(cpos),15);
- cout<<" ";
- delay(FPS);
- gotoxy(returnPos(cpos),14);
- cout<<a[cstart];
- /*Cleanup
- for(int s=1;s<=70;s++)
- {
- gotoxy(s,13);
- cout<<" ";
- gotoxy(s,15); <--Use to clean the output..like remove the stranded nos etc...bugged
- cout<<" ";
- gotoxy(s,16);
- cout<<" ";
- }
- */
- delay(FPS);
- //Actual Swap
- swap(a[cstart],a[cpos-1]);
- cstart++;
- }
- getch();
- creditsScroll();
- delay(2000);
- }
Advertisement
Add Comment
Please, Sign In to add comment