Phoenix_x

Untitled

Dec 20th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.53 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <vector>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. void readData(double numbers[30], int &size);
  8. void positiveSum(double numbers[30], int size);
  9. void negativeAverageInRange(double numbers[30], int size);
  10. void notZeroMultiplication(double numbers[30], int size);
  11. void smallestPosNumberAndIndex(double numbers[30], int size);
  12. void printElements(double numbers[30], int size);
  13.  
  14. void main()
  15. {
  16.     double numbers[30];
  17.     int size = 0;
  18.  
  19.     while (true) {
  20.         cout << "Izberete 1 za vavejdane na razmernost i elementi na masiv." << endl;
  21.         cout << "Izberete 2 za suma na polojitelni chisla." << endl;
  22.         cout << "Izberete 3 za sredno aritmetichno na otricatelni chisla v interval." << endl;
  23.         cout << "Izberete 4 za proizvedenie i broy na nenulevite chislata ot masiva." << endl;
  24.         cout << "Izberete 5 za minimalno polojitelno chislo i negoviq poreden nomer." << endl;
  25.         cout << "Izberete 6 za izvejdane na elementite na masiva." << endl;
  26.         cout << "Vashata opciq: ";
  27.  
  28.         int option;
  29.         cin >> option;
  30.  
  31.         switch (option)
  32.         {
  33.         case 1:
  34.             readData(numbers, size);
  35.             break;
  36.  
  37.         case 2:
  38.             positiveSum(numbers, size);
  39.             break;
  40.  
  41.         case 3:
  42.             negativeAverageInRange(numbers, size);
  43.             break;
  44.  
  45.         case 4:
  46.             notZeroMultiplication(numbers, size);
  47.             break;
  48.  
  49.         case 5:
  50.             smallestPosNumberAndIndex(numbers, size);
  51.             break;
  52.         case 6:
  53.             printElements(numbers, size);
  54.             break;
  55.         }
  56.     }
  57. }
  58.  
  59. void readData(double numbers[30], int &size)
  60. {
  61.     cout << "Razmernost(n): ";
  62.     cin >> size;
  63.  
  64.     while (size < 1 || size > 30) {
  65.         cout << "Nevalidna razmernost.";
  66.         cout << "Vavedete razmernost otnovo: ";
  67.         cin >> size;
  68.     }
  69.  
  70.     double readNumber;
  71.  
  72.     for (int i = 0; i < size; i++)
  73.     {
  74.         cout << "a[" << i << "]" << " = ";
  75.         cin >> numbers[i];
  76.     }
  77. }
  78.  
  79. void positiveSum(double numbers[30], int size)
  80. {
  81.     double positiveSum = 0;
  82.  
  83.     for (int i = 0; i < size; i++)
  84.     {
  85.         if (numbers[i] > 0)
  86.         {
  87.             positiveSum += numbers[i];
  88.         }
  89.     }
  90.  
  91.     cout << "Suma na polojitelni chisla: " << positiveSum << endl;
  92. }
  93.  
  94. void negativeAverageInRange(double numbers[30], int size)
  95. {
  96.     double sum = 0;
  97.     double count = 0;
  98.     double min;
  99.     double max;
  100.  
  101.     cout << "Min: ";
  102.     cin >> min;
  103.     cout << "Max: ";
  104.     cin >> max;
  105.  
  106.     for (int i = 0; i < size; i++)
  107.     {
  108.         if (numbers[i] < 0 && numbers[i] >= min && numbers[i] <= max)
  109.         {
  110.             sum += numbers[i];
  111.             count++;
  112.         }
  113.     }
  114.  
  115.     if (count == 0)
  116.     {
  117.         cout << "Masivat ne sudurja otricatelni chisla v zadadeniq interval." << endl;
  118.     }
  119.  
  120.     else
  121.     {
  122.         cout << "Suma: " << positiveSum << endl;
  123.     }
  124. }
  125.  
  126. void notZeroMultiplication(double numbers[30], int size)
  127. {
  128.     double multiplication = 1;
  129.     int count = 0;
  130.  
  131.     for (int i = 0; i < size; i++)
  132.     {
  133.         if (numbers[i] != 0)
  134.         {
  135.             multiplication *= numbers[i];
  136.             count++;
  137.         }
  138.     }
  139.  
  140.     cout << "Proizvedenie: " << multiplication << endl;
  141.     cout << "Broy: " << count << endl;
  142. }
  143.  
  144. void smallestPosNumberAndIndex(double numbers[30], int size)
  145. {
  146.     double smallestPosNumber = 99999999;
  147.     int index = 0;
  148.  
  149.     for (int i = 0; i < size; i++)
  150.     {
  151.         if (numbers[i] > 0 && smallestPosNumber > numbers[i])
  152.         {
  153.             smallestPosNumber = numbers[i];
  154.             index = i;
  155.         }
  156.     }
  157.  
  158.     if (smallestPosNumber == 99999999) { //ne se e promenilo
  159.         cout << "Masivat ne sudarja polojitelno chislo" << endl;
  160.     }
  161.  
  162.     else
  163.     {
  164.         cout << "Chislo: " << smallestPosNumber << endl;
  165.         cout << "Poreden nomer: " << index + 1 << endl;
  166.     }
  167. }
  168.  
  169. void printElements(double numbers[30], int size)
  170. {
  171.     for (int i = 0; i < size; i++)
  172.     {
  173.         cout << "a[" << i << "]" << " = " << numbers[i] << endl;
  174.     }
  175. }
Add Comment
Please, Sign In to add comment