Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h" // само при Visual Studio <= 2017
- #include <iostream>
- using namespace std;
- /*Да се напишат дефинициите на следните функции:
- а) за намиране на броя на максималните елементи в масив от реални числа;
- б) за намиране на индекса на последния отрицателен елемент в масив от реални числа; Функцията трябва да връща -1, когато няма нито един отрицателен елемент.
- в) за намаляване два пъти на всички максимални елементи на масив от реални числа;
- Функциите от точки а), б) и в) трябва да могат да работят с масиви с различни дължини.*/
- // а) за намиране на броя на максималните елементи в масив от реални числа;
- int CountOfMaxRealArray(double anArray[], const int size)
- {
- int count = 0;
- // търсим макс. елемент
- double max = anArray[0];
- for (int i = 1; i < size; i++)
- if (anArray[i] > max)
- max = anArray[i];
- // намерен е max, нека ги преброим
- for (int i = 0; i < size; i++)
- if (anArray[i] == max)
- count++;
- return count;
- }
- // б) за намиране на индекса на последния отрицателен елемент в масив от реални числа;
- // Функцията трябва да връща - 1, когато няма нито един отрицателен елемент
- int IndexOfLastNegative(double anArray[], const int size)
- {
- int i = size - 1;
- while (i >= 0 && anArray[i] >= 0)
- i--;
- return i;
- /*
- // variant 2
- int idx = -1;
- for (int i = 0; i < size; i++)
- if (anArray[i] < 0)
- idx = i;
- return idx;
- // variant 3
- int idx = -1;
- for (int i = size - 1; i >= 0; i--)
- if (anArray[i] < 0)
- {
- idx = i;
- break;
- }
- return idx;
- */
- }
- // в) за намаляване два пъти на всички максимални елементи на масив от реални числа;
- int HalveMaxRealArray(double anArray[], const int size)
- {
- int count = 0;
- // търсим макс. елемент
- double max = anArray[0];
- for (int i = 1; i < size; i++)
- if (anArray[i] > max)
- max = anArray[i];
- // намерен е max, нека ги разполовим
- for (int i = 0; i < size; i++)
- if (anArray[i] == max)
- {
- anArray[i] = anArray[i] / 2.0;
- count++;
- }
- return count;
- }
- int main()
- {
- // а) за намиране на броя на максималните елементи в масив от реални числа;
- double Array[10] = { 1,2.5,11.2,4,5,6,11.2,8.1,8.5,11.2 };
- cout << "a) Count of the maximal elements in array is " << CountOfMaxRealArray(Array, 10) << endl;
- // б) за намиране на индекса на последния отрицателен елемент в масив от реални числа;
- // Функцията трябва да връща - 1, когато няма нито един отрицателен елемент
- double Array2[11] = { 1, -2, 2, 3, 4, -4, 5, 6, -7, 7, 8 };
- cout << "b) Index of the last negative element in the array2 is "
- << IndexOfLastNegative(Array2, 11) << endl;
- // в) за намаляване два пъти на всички максимални елементи на масив от реални числа;
- double Array3[11] = { 3, 2, 9, 3, 2, 9, 2, 6, 9, 2, 8 };
- cout << "c) Halve of the maximal elements of the array3 is "
- << HalveMaxRealArray(Array3, 11) << endl;
- for (int i = 0; i < 11; i++) cout << Array3[i] << " ";
- return 0;
- }
Add Comment
Please, Sign In to add comment