Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //????????
- //2014? 10? 19?
- #include <iostream>
- using namespace std;
- void Append( int Array[], int &numUsed, int number);
- void print(int Array[], int numUsed, int cursor);
- //void Init(int A[], int num);
- void insert(int Array[],int &numUsed,int number, int position);
- int Search(int Array[],int &numUsed, int number);
- //void GoBack(int cursor, int &numUsed,int position);
- //void GoForward(int &cursor, int &numUsed, int &position);
- void Reverse(int Array[],int &numUsed);
- void Sort();
- void Delete(int Array[], int &numUsed, int position);
- void swap(int &a, int &b);
- const int MAX = 5;
- int main()
- {
- char command;
- int num = 0;
- int size = 0;
- int cursor = 0;
- // int integer =0;
- int array[MAX];
- // int array2[MAX];
- int a;
- int b;
- int location = 0; //position
- while(true){
- cout<<"[A]ppend, [I]nsert, [D]elete, [S]earch, [R]everse, [4]GoBack, [6]GoForward, S[o]rt, e[x]it "<<endl;
- cin>>command;
- switch(command){
- case 'a':
- case 'A':{
- cout<<"Enter a number"<<endl;
- cin>>num;
- Append(array, size,num);
- cout << "size: " << size << endl;
- cursor = size - 1;
- break;
- }
- case 'i':
- case 'I':{
- cout<<"Enter a digit to insert"<<endl;
- cin>>num;
- insert(array, size, num, location);
- break;
- }
- case 'd':
- case 'D':{
- Delete(array, size, location);
- cursor = size -1;
- if(size < 0){
- size =0;
- }
- break;
- }
- case 's':{
- cin>>num;
- location = Search(array, size, num);
- cursor = location;
- break;
- }
- case 'r':
- case 'R':{
- Reverse(array, size);
- swap(a ,b);
- break;
- }
- case '4':{
- cursor--;
- if(cursor < 0)
- cursor = 0;
- location = cursor;
- break;
- }
- case '6':{
- cursor++;
- if(cursor >= size)
- cursor = size -1;
- location = cursor;
- break;
- }
- // case 'o':
- // case 'O':
- // Sort();
- // break;
- default:
- cout<<"That is not a valid entry"<<endl;
- break;
- }
- print(array, size, cursor);
- }
- return 0;
- }
- void Append(int Array[], int &numUsed, int number){
- // if(numUsed >= MAX){
- // return 1;
- // }
- if(numUsed < MAX){
- Array[numUsed] = number;
- numUsed++;
- }
- // return ;
- }
- void print(int Array[], int numUsed, int cursor){
- cout << "numUsed: " << numUsed << endl;
- for(int i=0; i<numUsed;i++){
- if(i == cursor){
- cout<<"["<<Array[i]<<"]"<<" ";
- }
- else cout<<Array[i]<<" ";
- }
- cout << endl;
- }
- //void Init(int A[], int num){
- // for(int i=0; i<MAX; i++){
- // A[i]=num;
- // }
- //}
- void insert(int Array[],int &numUsed,int number, int position){
- if(numUsed < MAX){
- for(int i = numUsed -1; i>=position; i--){ //subtract size to add number into new location.
- Array[i+1] = Array[i];
- Array[i]=number;
- }
- numUsed++;
- }
- }
- void Delete(int Array[], int &numUsed, int position){
- if(position > 0){
- for(int i = position; i<numUsed; i++){ //subtract size to add number into new location.
- Array[i] = Array[i+1];
- }
- }
- numUsed--;
- }
- int Search(int Array[],int &numUsed, int number){
- for(int i=0; i<numUsed; i++){
- if(Array[i] == number){ //????
- return i;
- }
- }
- return -1;
- }
- void Reverse(int Array[],int &numUsed){
- // int temp =i;
- // i=j;
- // j=temp;
- for(int i = 0, j = numUsed -1; i>j; i++, j--){
- swap(Array[i],Array[j]);
- }
- }
- void swap(int &a, int &b){
- int temp = a;
- a=b;
- b=temp;
- }
- //use swap reverse instead.
- // for(int i=0; i < numUsed; i++){
- // Array2[i] = Array[numUsed-i-1];
- // }
- // for (int i=0; i<numUsed; i++){ // This outputs the first array
- // Append(Array, numUsed, Array2[i]);
- // }
- //}
- //void Swap(int Array[], int &numUsed)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement