Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- using namespace std;
- int main()
- {
- int arraySize, randRangeFrom, randRangeTo;
- cout << "Enter element count: ";
- cin >> arraySize;
- if (arraySize < 1) {
- cout << "\nCount must be posivive integer.\n\n";
- return 0;
- }
- float* arr = new float[arraySize];
- char v(0);
- cout << "\n\nHow would You like to fill in array, (M)anually or (A)utomatically? \n:";
- cin >> v;
- if (v == 'M') {
- for (int i = 0; i < arraySize; i++)
- {
- cout << "Enter element " << i + 1 << ": ";
- cin >> arr[i];
- }
- }
- else if (v == 'A') {
- cout << "Enter initial range value: ";
- cin >> randRangeFrom;
- cout << "Enter end range value: ";
- cin >> randRangeTo;
- cout << endl;
- srand(time(NULL));
- for (int i = 0; i < arraySize; i++)
- {
- arr[i] = (rand() % (randRangeTo * 10 - randRangeFrom * 10 + 1) + randRangeFrom * 10) / 10.0;
- }
- }
- else {
- return 0;
- }
- for (int i = 0; i < arraySize; i++)
- {
- cout << arr[i] << " ";
- }
- cout << "\n\nTask 1.\n";
- // Aprēķināt masīva elementu summu, kuriem ir nepāra numurs. done.
- float sum = 0;
- for (int i = 0; i < arraySize; i++)
- {
- if (i % 2 != 0)
- {
- sum += arr[i];
- }
- }
- cout << "Sum of even elements is: " << sum;
- //Aprēķināt masīva elementu summu, kuri atrodas starp masīva pirmo un pēdējo negatīvo elementu.
- cout << "\n\n\nTask 2.\n";
- float sumBetween = 0;
- int firstNeg = 0, lastNeg = 0;
- bool isFirstNegativeFound = false;
- for (int i = 0; i < arraySize; i++) {
- if (arr[i] < 0) {
- if (isFirstNegativeFound) {
- lastNeg = i;
- }
- else {
- firstNeg = i;
- isFirstNegativeFound = true;
- }
- }
- }
- for (int i = firstNeg + 1; i < lastNeg; i++) {
- sumBetween += arr[i];
- }
- cout << "The sum of the elements between the first (" << firstNeg << ") and the last (" << lastNeg << ") negatives is: " << sumBetween;
- //"Saspiest" masīvu. Izdzēst no tā visus elementus, kuru modulis nav lielāks par 1. Atbrīvotus masīva beigās elementus aizpildīt ar 0.
- cout << "\n\n\nTask 3.\n";
- for (int i = 0; i < arraySize; i++)
- {
- if (fabs(arr[i]) < 1)
- {
- arr[i] = 0;
- }
- if (arr[i] == 0)
- {
- for (int j = i + 1; j < arraySize; j++)
- if (arr[j] != 0 && arr[i] == 0)
- {
- float tmp = arr[j];
- arr[j] = arr[i];
- arr[i] = tmp;
- }
- }
- cout << arr[i] << " ";
- }
- cout << " \nArray compressed." << endl;
- delete[] arr;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement