Mrrl: Да вы правы это ошибка. Нужно или явное приведение при присваивании в инты static_cast(data[...]). Или, что даже более логично, сразу хранить данные в массиве unsigned char.
yttrium: Да, я не говорил что это невозможно сделать с помощью git или mercurial. Но практика показывает, что для работы с бинарниками удобней использовать svn. Например, можно просто взять и скачать один требуемый чертеж, а не рассказывать человеку почему на самом деле это нужно, пока качается весь репозиторий вместе с историей за несколько лет.
llenchikk: Под зависимостями я имел в виду отношения типа:
*деталь принадлежит чертежу
*чертеж содержт детали
Базы данных умеют это и многое другое. Создать базу по вашим требованиям это не сложно. Но для нее вы наверняка захотите удобный интерфейс. Формочку с поиском по детали, чертежу, редактирование списка деталей, и.т.д. Я этим не занимаюсь, поэтому не скажу сколько это стоит. Но не думаю что тут больше пары дней работы для нормального фрилансера.
svn в таком случае может быть внедрен независимо. Либо можно обойтись только базой, немного ее усложнив. Почитайте про svn куча материала. Потренироваться можно создав репозиторий на https://code.google.com/. А с tortoisesvn.net работать очень просто.
Ринат Велиахмедов: Скорость питона намного ниже. В некоторых олимпиадах делают специальные тесты под него со сниженными ограничениями. Но могут и не сделать. Ну и python бывает вообще не попадает в список поддерживаемых языков.
Библиотеки на олимпиадах обычно доступны только стандартные, так что numpy не прокатит.
В java удобнее работать с отладчиком, на питоне вероятно придется работать в notepad++/sublime.
Плюс многие ошибки отлавливаются компилятором, что тоже бывает полезно.
Есть некоторая путаница с константными указателями stackoverflow.com/a/1143272
-- const pointer означает что нельзя сделать так чтобы он указывал на что-то другое. Например есть тип сотрудник employee_t
employee_t const * director;
вы можете изменить директора
director = Vasya;
но НЕ можете поменять фамилию сотрудника на этой должности
//! director->second_name = "Ivanov";
-- pointer to const ... означает что с помощью указателя нельзя изменить то на что он указывает.
employee_t * const director;
вы НЕ можете изменить директора
//! director = Vasya;
но МОЖЕТЕ поменять фамилию сотрудника на этой должности
director->second_name = "Ivanov";
Могу ошибаться, с паскалем не работал несколько лет, но думаю так:
1)some_var1 : ^TYPE = nil;
2)^some_var2 := 222
3)где вы такое видели?
4)да, это значит получить адрес переменной
5)если так можно в паскале то да. В с++ это шорткат для
(*some_var6).some_field
tsarevfs
@tsarevfs Автор вопроса, куратор тега C++
Не очень понятно что значит "улучшить". Правильно ли я понимаю, что если запросов много, то не удалять это ошибка, которая неизбежно приведет к тому, что память закончится?
Annie96: Вы попытались сами решить задачу и этим положительно отличаетесь от авторов вопросов "решите мне задачу". Я привел формулу для размера 2, и уверен, что вы сможете превратить ее в цикл для размера n.
Если вам не хочется научиться, вы можете загуглить "умножение матриц с++".