profile
Размещено 2 года назад по предмету Информатика от MSashaZ

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

2) Вывод массива на экран;

3) Вращение одномерного массива(реверса)

4) Составление массива (int, double)

5) Поиска в массиве заданного значения (вернуть позицию первого вхождения, если нет –1)

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

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

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

9) Написать функцию, определяющую максимум(возвращает позицию первого вхождения элементов переданного ей массива. (int, double)

  1. Ответ на вопрос
    Ответ на вопрос дан abob334

    Вот пример библиотеки для работы с массивом разного типа на языке программирования C++:

    #include <iostream>

    #include <cstdlib>

    #include <ctime>

    #include <string>

    template <typename T>

    class Array {

    private:

       T* data;

       size_t size;

    public:

       Array(size_t s): size(s), data(new T[s]) {}

       ~Array() { delete[] data; }

       // Заполнение массива случайными числами

       void fill_random(T min, T max) {

           std::srand(std::time(nullptr));

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

               data[i] = static_cast<T>(min + (max - min) * std::rand() / RAND_MAX);

           }

       }

       // Заполнение массива с клавиатуры

       void fill_from_input() {

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

               std::cin >> data[i];

           }

       }

       // Вывод массива на экран

       void print() const {

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

               std::cout << data[i] << ' ';

           }

           std::cout << std::endl;

       }

       // Реверс массива

       void reverse() {

           for (size_t i = 0; i < size / 2; i++) {

               T tmp = data[i];

               data[i] = data[size - i - 1];

               data[size - i - 1] = tmp;

           }

       }

       // Поиск значения в массиве

       int find(T val) const {

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

               if (data[i] == val) {

                   return static_cast<int>(i);

               }

           }

           return -1;

       }

       // Нахождение минимума в массиве

       T find_min() const {

           T min_val = data[0];

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

               if (data[i] < min_val) {

                   min_val = data[i];

               }

           }

           return min_val;

       }

       // Нахождение максимума в массиве

       T find_max() const {

           T max_val = data[0];

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

               if (data[i] > max_val) {

                   max_val = data[i];

               }

           }

           return max_val;

       }

       // Нахождение позиции первого вхождения минимума в массиве

       int find_min_index() const {

           int min_idx = 0;

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

               if (data[i] < data[min_idx]) {

                   min_idx = static_cast<int>(i);

               }

           }

           return min_idx;

       }

       // Нахождение позиции первого вхождения максимума в массиве

       int find_max_index() const {

           int max_idx = 0;

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

               if (data[i] > data[max_idx]) {

                   max_idx = static_cast<int>(i);

               }

           }

           return max_idx;

     

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.