peshopbs2

Some 1D array functions

Jul 9th, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.83 KB | None | 0 0
  1. #include <iostream>
  2. #define MAXN 100
  3. using namespace std;
  4.  
  5. void input(int &number, int a[]) {
  6.     cin >> number;
  7.     for(int i = 0; i < number; i++) {
  8.         cin >> a[i];
  9.     }
  10. }
  11.  
  12. void output(int number, int a[]) {
  13.     for(int i = 0; i < number; i++) {
  14.         cout << a[i] << " ";
  15.     }
  16. }
  17.  
  18. int sum(int number, int a[]) {
  19.     int total = 0;
  20.     for(int i = 0; i < number; i++) {
  21.         total += a[i];
  22.     }
  23.     return total;
  24. }
  25.  
  26. int mini(int number, int a[]) {
  27.     int minimum = a[0];
  28.     for(int i = 0; i < number; i++) {
  29.         if(a[i]<minimum) minimum = a[i];
  30.     }
  31.     return minimum;
  32. }
  33.  
  34. int maxi(int number, int a[]) {
  35.     int maximum = a[0];
  36.     for(int i = 0; i < number; i++) {
  37.         if(a[i]>maximum) maximum = a[i];
  38.     }
  39.     return maximum;
  40. }
  41.  
  42. double avg(int number, int a[]) {
  43.     return (double) sum(number, a) / number;
  44. }
  45.  
  46. int in_array(int x, int number, int a[]) {
  47.     for(int i = 0; i < number; i++) {
  48.         if(a[i]==x) return i;
  49.     }
  50.    
  51.     return -1;
  52. }
  53.  
  54. void print_common(int n1, int a[], int n2, int b[]) {
  55.     for (int i = 0; i < n1; i++)
  56.     {
  57.         if(in_array(a[i], n2, b)!=-1) {
  58.             cout << a[i] << " ";
  59.         }
  60.     }
  61.     cout << endl;
  62. }
  63.  
  64. void in_array_3(int n1, int a[], int n2, int b[], int n3, int c[]) {
  65.     for(int i = 0; i < n1; i++) {
  66.         if(in_array(a[i], n2, b)!=-1 && in_array(a[i], n3, c)!=-1 ) {
  67.             cout << a[i] << " ";
  68.         }
  69.     }
  70.    
  71.     cout << endl;
  72. }
  73.  
  74. int is_power_of_two(int x) {
  75.     int ed = 0;
  76.     while(x!=0) {
  77.         ed += (x%2);
  78.         x/=2;
  79.     }
  80.    
  81.     if(ed==1) {
  82.         return true;
  83.     } else {
  84.         return false;
  85.     }
  86. }
  87.  
  88. void print_powers_of_two(int n1, int a[]) {
  89.     for (int i = 0; i < n1; i++)
  90.     {
  91.         if(is_power_of_two(a[i])) {
  92.             cout << a[i] << " ";
  93.         }
  94.     }
  95.     cout << endl;
  96. }
  97.  
  98. int digit_sum(int x) {
  99.     int sum = 0;
  100.     while(x!=0) sum+=x%10, x/=10;
  101.    
  102.     return sum;
  103. }
  104.  
  105. void overwrite_element_digit_sum(int n, int a[]) {
  106.     for (int i = 0; i < n; i++)
  107.     {
  108.         a[i] = digit_sum(a[i]);
  109.     }
  110. }
  111.  
  112. void swap(int &a, int &b) {
  113.     int helper = b;
  114.     b = a;
  115.     a = helper;
  116. }
  117.  
  118. void reverse(int n, int a[]) {
  119.     for (int i = 0, j = n-1; i <= j; i++, j--)
  120.     {
  121.         swap(a[i], a[j]);
  122.     }
  123. }
  124.  
  125. void reverse_alternative(int n, int a[]) {
  126.     for (int i = 0; i < n/2; i++)
  127.     {
  128.         swap(a[i], a[n-i-1]);
  129.     }
  130. }
  131.  
  132. void reverse_alternative_2(int n, int a[]) {
  133.     int j = n-1;
  134.     for (int i = 0; i < n/2; i++)
  135.     {
  136.         swap(a[i], a[j]);
  137.         j--;
  138.     }
  139. }
  140.  
  141. int main() {
  142.     int n, a[MAXN], m, b[MAXN], p, c[MAXN];
  143.     input(n, a);
  144. //  reverse(n, a);
  145.     output(n, a);
  146.     //reverse_alternative(n, a);
  147.     //output(n, a);
  148.     //reverse_alternative_2(n, a);
  149.     //output(n, a);
  150.  
  151.     //overwrite_element_digit_sum(n, a);
  152.    
  153.     //input(m, b);
  154.     //input(p, c);
  155.     //print_common(n, a, m, b);
  156.     //in_array_3(n, a, m, b, p, c);
  157.     /*cout << "Powers of two in a: " << endl;
  158.     print_powers_of_two(n, a);
  159.     cout << "Powers of two in b: " << endl;
  160.     print_powers_of_two(m, b);
  161.     cout << "Powers of two in c: " << endl;
  162.     print_powers_of_two(p, c);
  163.     */
  164.     return 0;
  165. }
Advertisement
Add Comment
Please, Sign In to add comment