Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- int sumaOtr(const int array[], int size);
- double minMaxAvg(const int array[], int size);
- int nullCount(const int array[], int size);
- void maxPosNum(const int array[], int size);
- void izvejdane(const int array[], int size);
- std::string numDobavka(int chislo);
- int main()
- {
- int n;
- char read;
- while (true)
- {
- std::cout << "Vyvedete razmera na masiva: ";
- std::cin >> n;
- if (n >= 2 && n <= 25) break;
- std::cout << "Nevaliden vhod!! Masiva moje da e s razmer ot 2 do 25 vkl!!!"
- << std::endl;
- }
- int masiv[25]; // int masiv[n];
- for (int i = 0; i < n; i++)
- {
- std::cout << "Enter element " << i << "'s value: ";
- std::cin >> masiv[i];
- }
- while (true) izvejdane(masiv, n);
- return 0;
- }
- int sumaOtr(const int array[], int size)
- {
- int suma = 0;
- for (int i = 0; i < size; i++)
- {
- if (array[i] < 0) suma += array[i];
- }
- return suma;
- }
- double minMaxAvg(const int array[], int size)
- {
- double suma = 0;
- int counter = 0;
- int min, max;
- while (true)
- {
- std::cout << "Vyvdete min stojnost: ";
- std::cin >> min;
- if (min > 0) break;
- std::cout << "Molq vyvedete polojitelno chislo za stojnost na min!!" << std::endl;
- }
- while (true)
- {
- std::cout << "Vyvdete max stojnost: ";
- std::cin >> max;
- if (max > 0 && max >= min) break;
- else if (max <= 0) std::cout << "Molq vyvedete polojitelno chislo za stojnost na min!!" << std::endl;
- else if (max > min) std::cout << "Max ne moje da e po-golqmot ot min!!" << std::endl;
- }
- for (int i = 0; i < size; i++)
- {
- if (array[i] >= min && array[i] <= max)
- {
- suma += array[i];
- counter++;
- }
- }
- return suma / counter;
- }
- int nullCount(const int array[], int size)
- {
- int counter = 0;
- for (int i = 0; i < size; i++)
- {
- if (array[i] == 0) counter++;
- }
- return counter;
- }
- void maxPosNum(const int array[], int size)
- {
- int pos = 0;
- int max = 0;
- for (int i = 0; i < size; i++)
- {
- if (array[i] > 0 && array[i] > max)
- {
- max = array[i];
- pos = i + 1;
- }
- }
- if (max == 0) std::cout << "Nqma polojitelni chisla v masiva :(" << std::endl;
- else std::cout << "Maksimalnoto polojitelno chislo v masiva e " << max
- << " i e " << pos << numDobavka(pos) << " pored" << std::endl;
- }
- void izvejdane(const int array[], int size)
- {
- char a;
- bool flag = false;
- //std::cout << "Vyvedete '1' za vyvejdane na masiv" << std::endl;
- std::cout << "Vyvedete '2' za izchislqvane sumata na otricatelnite chisla v masiva"
- << std::endl;
- std::cout <<
- "Vyvedete '3' za izchislqvane sredno-aritmetichnoto ot polojitelnite chisla v masiva v diapazon [min - max]" << std::endl;
- std::cout << "Vyvedete '4' za ichislqvane broq na nulite v masiva" << std::endl;
- std::cout << "Vyvedete '5' za namirane naj-golqmoto polojitelno chislo v masiva i negoviq poreden nomer" << std::endl;
- std::cin >> a;
- for (int i = 0; i < size; i++)
- {
- if (array[i] != 0) flag = true;
- }
- if (flag) std::cout << "Masiva e prazen!!!" << std::endl;
- else
- {
- switch (a)
- {
- case '2':
- if (sumaOtr(array, size) == 0) std::cout << "Nqma otricatelni chisla v masiva!" << std::endl;
- else std::cout << "Sumata na otricatelnite chisla e " << sumaOtr(array, size) << std::endl;
- break;
- case '3':
- if (minMaxAvg(array, size) == 0)
- std::cout << "Nqma polojitelni chisla v masiva v diapazona!" << std::endl;
- else std::cout << "Sredno aritmetichnoto v diapazona e "
- << std::setprecision(3) << minMaxAvg(array, size);
- break;
- case '4':
- std::cout << "Broqt na nulite v masiva e " << nullCount(array, size) << std::endl;
- break;
- case '5':
- maxPosNum(array, size);
- break;
- default:
- std::cout << "Nevaliden vhod :/" << std::endl;
- break;
- }
- }
- }
- std::string numDobavka(int chislo)
- {
- std::string result;
- switch (chislo)
- {
- case 1:
- case 21:
- result = "vo";
- break;
- case 2:
- case 22:
- result = "ro";
- break;
- case 7:
- case 8:
- result = "mo";
- break;
- default: //vs ostanalo
- result = "to";
- break;
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement