C++ Практические задания Группа №1 — различия между версиями
(→#12 big_int) |
|||
Строка 86: | Строка 86: | ||
_?_ operator+(_?_ other); | _?_ operator+(_?_ other); | ||
_?_ operator-(_?_ other); | _?_ operator-(_?_ other); | ||
− | |||
_?_ operator<(_?_ other); | _?_ operator<(_?_ other); | ||
}; | }; | ||
Строка 96: | Строка 95: | ||
_?_ operator+(_?_ other); | _?_ operator+(_?_ other); | ||
_?_ operator-(_?_ other); | _?_ operator-(_?_ other); | ||
− | |||
_?_ operator*(_?_ other); | _?_ operator*(_?_ other); | ||
_?_ operator/(_?_ other); | _?_ operator/(_?_ other); | ||
− | |||
_?_ operator<(_?_ other); | _?_ operator<(_?_ other); | ||
}; | }; |
Версия 13:06, 21 ноября 2014
Кудинкин Алексей
+7-911-748-38-35
Содержание
#1: Find all the problems
https://www.dropbox.com/s/26j3j6kata8jiqu/challenge.cc?dl=0
#2: Get it compiled!
https://www.dropbox.com/sh/izpca2efj2htdy2/AAB4Uj-vj7oBknJo9QOLF3UJa?dl=0
#3 Pointers
https://www.dropbox.com/sh/k3glgu3wyut3otq/AAAO1MejOgQFuvsVSQ5r0Ktda?dl=0
#4 Vector
https://www.dropbox.com/sh/plc204mdal7jb7z/AABlZIUsO1_3_wyH0TX0UdfNa?dl=0
#5 Intrusive Lists
https://www.dropbox.com/sh/kp0jdgy97p3sjg9/AAAr5g7a8Ufg7zikE2spCmBJa?dl=0
#6 C IO
Задание предполагает, что файлы на вход программы будут поступать только файлы правильного формата.
Формат текстового файла: Каждый элемент списка на новой строке: числа x и y разделены пробелом
Формат бинарного файла: Каждое число занимает не больше 3 байт (hint: |, &, >>, <<)
Вспомогательные материалы: https://www.dropbox.com/sh/kp0jdgy97p3sjg9/AAAr5g7a8Ufg7zikE2spCmBJa?dl=0
Параметры
./p {loadtxt | loadbin} infile {savetxt | savebin} outfile ./p {loadtxt | loadbin} infile print “fmt” ./p {loadtxt | loadbin} infile count
- loadtxt загружает из текстового файл
- loadbin загружает из бинарного файла
- savetxt записывает в текстовый файл
- savebin записывает в бинарный файл
- print “fmt” выводит в stdout ранее прочитанное отформатированные согласно "fmt" (пример fmt: “(%d %d)”, “[%#x %#x]\n”)
- count выводит размер прочитанного корпуса
https://www.dropbox.com/sh/u5feahsavqykw02/AACW7NafrtgZOvOEGFEuS3Qsa?dl=0
#7 Pseudo XML
#8 Hash table
#9 Output streams
https://www.dropbox.com/s/klw6db7f18m1tgl/output_stream.h?dl=0
#10 Arithmetic Operations
Необходимо реализовать следующие узлы дерева арифметических операций:
Сложение, Вычитание, Умножение, Деление, Деление по модулю, Литерал (константа).
Каждый из узлов должен наследовать базовый класс (интерфейс `i_expr`):
struct i_expr { virtual void print(std::stringstream& s) = 0; virtual int eval() = 0; };
NB: Реализация, должна подразумевать возможность создания дерева динамически (с использованием оператора new). Hint: проверьте корректно ли освобождается память в вашей реализации.
#11 auto_ptr
#12 big_int
Реализовать класс для работы с длинной арифметикой. Задание делится на две части:
- 1
struct big_int { _?_ operator+(_?_ other); _?_ operator-(_?_ other); _?_ operator<(_?_ other); };
- 2
struct big_int { _?_ operator+(_?_ other); _?_ operator-(_?_ other); _?_ operator*(_?_ other); _?_ operator/(_?_ other); _?_ operator<(_?_ other); };