Phoenix_x

Untitled

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