Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // SpecialArrays.cpp : This file contains the 'main' function. Program execution begins and ends there.
- //
- #include <iostream>
- using namespace std;
- void init(int array[], int max_size)
- {
- array[0] = max_size;
- array[1] = 0;
- }
- bool add(int array[], int value)
- {
- if (array[1] < array[0])
- {
- int entry_number = array[1] + 2;
- array[entry_number] = value;
- array[1] += 1;
- return true;
- }
- else return false;
- }
- bool find_value(int array[], int value)
- {
- for (int i = 2; i < array[1] + 2; i++)
- {
- if (array[i] == value)
- {
- return true;
- }
- }
- return false;
- }
- int count_value(int array[], int value)
- {
- int count = 0;
- if (find_value(array, value))
- {
- for (int i = 2; i < array[1] + 2; i++)
- {
- if (array[i] == value)
- {
- count++;
- }
- }
- }
- return count;
- }
- bool delete_all(int array[], int value)
- {
- if (find_value(array, value))
- {
- int temp_max_size = array[1];
- for (int i = 2; i < array[1] + 2; i++)
- {
- if (array[i] == value)
- {
- for (int j = i; j < array[1] + 2; j++)
- {
- array[j] = array[j + 1];
- }
- array[1] -= 1;
- i--;
- }
- }
- return true;
- }
- else
- {
- return false;
- }
- }
- void reverse_array(int array[])
- {
- int temp;
- for (int i = 2; i < array[1] / 2 + 2; i++)
- {
- int j = (array[1] + 1) - i + 2;
- // (array[1]+1) is the location of the last element
- // Want to decrement by 1 each time, but i is initialized as 2 so we will add 2 at the end.
- temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
- }
- void sort(int array[], bool ascending)
- {
- int temp;
- for (int i = 2; i < array[1] + 2; i++)
- {
- for (int j = i + 1; j < array[1] + 2; j++)
- {
- if (array[j] < array[i])
- {
- temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
- }
- }
- }
- int main()
- {
- int max = 50;
- int array[100];
- init(array, max);
- cout << "Max array is " << array[0] << endl;
- cout << array[1] << endl;
- int added_value = 80;
- add(array, added_value);
- cout << array[1] << endl;
- cout << array[2] << endl;
- bool if_eighty_there = find_value(array, 80);
- if (if_eighty_there)
- {
- cout << "true" << endl;
- }
- else
- {
- cout << "false" << endl;
- }
- add(array, 80);
- cout << array[1] << endl;
- cout << array[3] << endl;
- int count = count_value(array, 80);
- cout << "There are this many 80s: " << count <<endl;
- int new_count = count_value(array, 70);
- cout << "There are this many 70s: " << new_count << endl;
- cout << "The array is: " << array[0] << " " << array[1] << " " << array[2] << " " << array[3] << endl;
- delete_all(array, 80);
- cout << "The array is: " << array[0] << " " << array[1] << " " << array[2] << " " << array[3] << endl;
- int new_array[100];
- int new_max = 20;
- init(new_array, new_max);
- add(new_array, 1);
- add(new_array, 3);
- add(new_array, 2);
- add(new_array, 5);
- cout << "The array is: " << new_array[0] << " " << new_array[1] << " " << new_array[2] << " " << new_array[3] << " " << new_array[4] << " " << new_array[5] << endl;
- sort(new_array, 1);
- cout << "The array is: " << new_array[0] << " " << new_array[1] << " " << new_array[2] << " " << new_array[3] << " " << new_array[4] << " " << new_array[5] << endl;
- reverse_array(new_array);
- cout << "The array is: " << new_array[0] << " " << new_array[1] << " " << new_array[2] << " " << new_array[3] << " " << new_array[4] << " " << new_array[5] << endl;
- int new_array2[100];
- int new_max2 = 65;
- init(new_array2, new_max2);
- add(new_array2, 39);
- add(new_array2, 515);
- add(new_array2, 81);
- add(new_array2, 922);
- cout << "The array is: " << new_array2[0] << " " << new_array2[1] << " " << new_array2[2] << " " << new_array2[3] << " " << new_array2[4] << " " << new_array2[5] << endl;
- reverse_array(new_array2);
- cout << "The array is: " << new_array2[0] << " " << new_array2[1] << " " << new_array2[2] << " " << new_array2[3] << " " << new_array2[4] << " " << new_array2[5] << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement