Предмет: Информатика, автор: taniyham

Створити бібліотеку для роботи з масивом різного типу (int, double, char, string);
1.1) Заповнення одновимірного масиву випадковими числами;(int, double)
1.2) Заповнення одновимірного масиву з клавіатури; (char, string)

2) Виведення масиву на екран;(int, double, char, string)

3) Обертання одновимірного масиву(реверсу)(int, double, char, string)

4) Впорядкування масиву (int, double)

5) Пошуку у масиві заданого значення (повернути позицію першого входження, якщо немає -1)(int, double, char, string)

6) Написати функцію, що визначає мінімум (повертає значення) елементів переданого їй масиву. (int, double)

7) Написати функцію, що визначає максимум (повертає значення) елементів переданого їй масиву.(int, double)

8) Написати функцію, що визначає мінімум (повертає позицію першого входження елементів переданого їй масиву. (int, double)

9) Написати функцію, що визначає максимум(повертає позицію першого входження елементів переданого їй масиву. (int, double)
С++

Ответы

Автор ответа: staanchik
0

Ответ:

#include <iostream>

#include <cstdlib>

#include <ctime>

#include <string>

#include <algorithm>

using namespace std;

template <typename T>

class Array {

private:

   T *arr;

   int size;

public:

   Array(int n) {

       size = n;

       arr = new T[size];

   }

   ~Array() {

       delete[] arr;

   }

   void fillRandom() {

       srand(time(NULL));

       for (int i = 0; i < size; i++) {

           arr[i] = (T)(rand() % 100);

       }

   }

   void fillFromInput() {

       for (int i = 0; i < size; i++) {

           cout << "Enter the value of arr[" << i << "]: ";

           cin >> arr[i];

       }

   }

   void display() {

       for (int i = 0; i < size; i++) {

           cout << arr[i] << " ";

       }

       cout << endl;

   }

   void reverse() {

       for (int i = 0, j = size - 1; i < j; i++, j--) {

           swap(arr[i], arr[j]);

       }

   }

   void sort() {

       std::sort(arr, arr + size);

   }

   int find(T value) {

       for (int i = 0; i < size; i++) {

           if (arr[i] == value) {

               return i;

           }

       }

       return -1;

   }

   T min() {

       T minValue = arr[0];

       for (int i = 1; i < size; i++) {

           if (arr[i] < minValue) {

               minValue = arr[i];

           }

       }

       return minValue;

   }

   T max() {

       T maxValue = arr[0];

       for (int i = 1; i < size; i++) {

           if (arr[i] > maxValue) {

               maxValue = arr[i];

           }

       }

       return maxValue;

   }

   int minIndex() {

       int minIndex = 0;

       for (int i = 1; i < size; i++) {

           if (arr[i] < arr[minIndex]) {

               minIndex = i;

           }

       }

       return minIndex;

   }

   int maxIndex() {

       int maxIndex = 0;

       for (int i = 1; i < size; i++) {

           if (arr[i] > arr[maxIndex]) {

               maxIndex = i;

           }

       }

       return maxIndex;

   }

};

int main() {

   Array<int> intArray(5);

   intArray.fillRandom();

   intArray.display();

   cout << "Index of 42: " << intArray.find(42) << endl;

   cout << "Minimum value: " << intArray.min() << endl;

   cout << "Minimum index: " << intArray.minIndex() << endl;

   cout << "Maximum value: " << intArray.max() << endl;

   cout << "Maximum index: " << intArray.maxIndex() << endl;

   intArray

Объяснение:

Похожие вопросы
Предмет: История, автор: DragonssMan