Бюджет: 100 UAH Термін: 1 день
Здравствуйте, выполню ваш заказ, т.к. имею опыт работы с шаблонными классами. Сделаю быстро и качественно. Есть только вопросы по поводу среды разработки.
Розробити і реалізувати програмно шаблонний клас для подання розріджених одновимірних масивів. Розмір логічного масиву передавати через аргумент конструктора. Для цього виконати такі завдання:
Порядок виконання роботи
Згідно з умовами завдання потрібно розробити дуже примітивний клас з мінімальною функціональністю. У реальних додатках такий клас буде містити додатково інші, складніші методи, наприклад, видалення з фізичного масиву елемента із заданим індексом.
Необхідно вирішити, яку структуру обрати для збереження фізичного масиву. Зазвичай використовують лінійні списки, бінарні дерева або структури із хешуванням індексів.
Лінійний список має найгірші показники за часом пошуку інформації із заданим ключем (індексом), однак є найбільш простим для програмування.
Можна використати контейнерний клас list із бібліотеки шаблонів STL, який реалізований у вигляді двозв’язного списку, кожний елемент якого містить посилання на попередній та наступні елементи. Для використання цього класу слід підключити заголовний файл <list>.
У класі list є конструктор за замовчуванням, який створює клас нульової довжини. У кінець списку можна додати елемент за допомогою функції push_back(). Доступ до будь-якого елемента списку здійснюється через ітератор — змінну типу list<T>::iterator. Ітератор можна розглядати як вказівник на елемент списку. Він використовується для перегляду списку у прямому чи зворотному напрямках. У першому випадку використовується операція інкремента, у другому — декремента.
У класі list також є два методи, що допомагають переглянути список: begin() повертає вказівник на початковий елемент, end() повертає вказівник на елемент, що слідує за останнім. Поточне значення ітератора у циклі порівнюється із значенням, отриманим від end(), за допомогою операції “!=”, оскільки за довільного розміщення в пам’яті сусідніх елементів операція “<” для адрес елементів втрачає сенс.
Приклад. Використання класу list:
#include <iostream> #include <list>
using namespace std; int main() {
list <char> v1;
v1.push_back(‘A’);
v1.push_back(‘B’);
v1.push_back(‘C’);
list<char>:: iterator i = v1.begin(); list <char>:: iterator n = v1.end();
for (i; i != n; ++i) cout << *i << ‘ ‘;
//вміст комірки пам’яті, на яку вказує і
cout << endl; return 0;
}
Продемонструйте роботу створених функцій в основній частині програми для різних типів даних: цілочислового, з плаваючою крапкою, подвійної точності.
Бюджет: 100 UAH Термін: 1 день
Здравствуйте, выполню ваш заказ, т.к. имею опыт работы с шаблонными классами. Сделаю быстро и качественно. Есть только вопросы по поводу среды разработки.
Бюджет: 500 UAH Термін: 1 день
Можу зробити, але лише у понеділок, якщо це для Вас не критично.
Бюджет: 3000 UAH Термін: 7 днів
Сделаю (в среде Visual Studio 2019) за день, но, т.к. немного занят, то приступить смогу только во вторник-среду.
И поэтому в качестве дед-лайна взял бы Пт 13 декабря 20:00.
Если нужно быстрее, или есть другие соображения для обсуждения - обращайтесь в личку, или по контактам в профиле.
То есть вас попросили изобрести велосипед и сделать свою версию std::vector?)