Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<iomanip>
- #include<cstdlib>
- #include<ctime>
- #include<fstream>
- using namespace std;
- class Array
- {
- public:
- Array();
- void load();
- void printData();
- void reverse();
- void asort();
- void dsort();
- void calcavg();
- void savefile(char[]);
- void retrieve(char[]);
- void add(Array, Array);
- void sub(Array, Array);
- private:
- int numbers[10];
- };
- Array::Array()
- {
- for (int i = 0; i < 10; i++)
- numbers[i] = 0;
- }
- void Array::load()
- {
- for (int i = 0; i < 10; i++)
- numbers[i] = (rand()%100)+1;//1 to 100
- //cout <<"First array"<< n1[i] << endl;
- }
- void Array::printData()
- {
- for (int i = 0; i < 10; i++)
- cout << numbers[i] << endl;
- cout << endl << endl << endl;
- }
- void Array::reverse()
- {
- int dummy[10];
- for (int i = 0; i < 10; i++)
- {
- dummy[i] = numbers[i];
- }
- cout << endl;
- for (int i = 0; i < 10; i++)
- {
- int n = 9 - i;
- numbers[i] = dummy[n];
- }
- printData();
- }
- void Array::asort()
- {
- for (int j = 0; j < 10; j++)
- for (int i = 0; i <9; i++)//change i max to 9
- if (numbers[i] > numbers[i+1])
- {
- int temp = numbers[i];
- numbers[i] = numbers[i + 1];
- numbers[i + 1] = temp;
- }
- printData();
- }
- void Array::dsort()
- {
- int temp;
- for (int j = 0; j < 10; j++)
- for (int i = 0; i < 10; i++)
- if (numbers[i] < numbers[i + 1])
- {
- temp = numbers[i];
- numbers[i] = numbers[i + 1];
- numbers[i + 1] = temp;
- }
- printData();
- }
- void Array::calcavg()
- {
- int max = numbers[0];
- for (int i = 1; i < 10; i++)
- if (numbers[i] > max)
- max = numbers[i];
- int min = numbers[0];
- for (int i = 1; i < 10; i++)//dont need the braces on this for loop since if is technically 1 statement
- if (numbers[i] < min)
- min = numbers[i];
- int sum = 0;
- for (int i = 0; i < 10; i++)
- sum += numbers[i];
- int avg = (sum - max - min) / 8; //wants the lowest and highest numbers to be excluded from avg
- cout << "Average is" << endl << avg << endl << endl;
- }
- void Array::savefile(char d[])
- {
- ofstream outfile(d, ios::out);
- for (int i = 0; i < 10; i++)
- {
- outfile << numbers[i] << endl;
- }
- outfile.close();
- }
- void Array::retrieve(char d[])
- {
- ifstream infile(d, ios::in);//after file is received we print array again
- for (int i = 0; i < 10; i++)
- {
- infile >> numbers[i];
- }
- infile.close();
- cout << "Printing Array 1" << endl;
- printData();
- }
- void Array::add(Array a, Array b)
- {
- for (int i = 0; i < 10; i++)
- numbers[i] = a.numbers[i] + b.numbers[i];
- cout << "Sum array (Descending order of A+B)" << endl;
- printData();
- }
- void Array::sub(Array a, Array b)
- {
- for (int i = 0; i < 10; i++)
- numbers[i] = a.numbers[i] - b.numbers[i];
- cout << "Difference array (Descending order of A-B)" << endl;
- printData();
- }
- int main()
- {
- srand(time(NULL));
- Array a,b,sum,difference;
- char d[20];
- char e[20];
- a.load();
- cout << "Array A:" << endl;
- a.printData();
- cout << "Array B:" << endl;
- b.load();
- b.printData();
- cout << "Reverse of A" << endl;
- a.reverse();
- cout << "Reverse of B" << endl;
- b.reverse();
- cout << "Ascending Order of A" << endl;
- a.asort();
- cout << "Descending Order of A" << endl;
- a.dsort();
- a.calcavg();
- cout << "Enter name for text file A" << endl;
- cin >> d;
- cout << "Enter name for text file B" << endl;
- cin >> e;
- a.savefile(d);
- b.savefile(e);
- a.retrieve(d);
- b.retrieve(e);
- sum.add(a, b);
- cout << "Reverse of sum" << endl;
- sum.reverse();
- difference.sub(a, b);
- cout << "Reverse of difference" << endl;
- difference.reverse();
- system("PAUSE");
- }
- //Array A :
- //1
- //51
- //2
- //40
- //93
- //28
- //23
- //15
- //35
- //67
- //
- //
- //
- //Array B :
- //21
- //21
- //89
- //48
- //75
- //17
- //72
- //61
- //46
- //8
- //
- //
- //
- //Reverse of A
- //
- //67
- //35
- //15
- //23
- //28
- //93
- //40
- //2
- //51
- //1
- //
- //
- //
- //Reverse of B
- //
- //8
- //46
- //61
- //72
- //17
- //75
- //48
- //89
- //21
- //21
- //
- //
- //
- //Ascending Order of A
- //1
- //2
- //15
- //23
- //28
- //35
- //40
- //51
- //67
- //93
- //
- //
- //
- //Descending Order of A
- //93
- //67
- //51
- //40
- //35
- //28
- //23
- //15
- //2
- //1
- //
- //
- //
- //Average is
- //32
- //
- //Enter name for text file A
- //Array1.txt
- //Enter name for text file B
- //Array2.txt
- //Printing Array 1
- //93
- //67
- //51
- //40
- //35
- //28
- //23
- //15
- //2
- //1
- //
- //
- //
- //Printing Array 1
- //8
- //46
- //61
- //72
- //17
- //75
- //48
- //89
- //21
- //21
- //
- //
- //
- //Sum array(Descending order of A + B)
- //101
- //113
- //112
- //112
- //52
- //103
- //71
- //104
- //23
- //22
- //
- //
- //
- //Reverse of sum
- //
- //22
- //23
- //104
- //71
- //103
- //52
- //112
- //112
- //113
- //101
- //
- //
- //
- //Difference array(Descending order of A - B)
- //85
- //21
- //- 10
- //- 32
- //18
- //- 47
- //- 25
- //- 74
- //- 19
- //- 20
- //
- //
- //
- //Reverse of difference
- //
- //- 20
- //- 19
- //- 74
- //- 25
- //- 47
- //18
- //- 32
- //- 10
- //21
- //85
- //
- //
- //
- //Press any key to continue . . .
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement