Conversation
WoWaster
left a comment
There was a problem hiding this comment.
Никаких артефактов по первой задачке я вообще не нашел :(
There was a problem hiding this comment.
А почему у хедера нет файла с реализацией?
| /* | ||
| функция перевода массива с булевыми элементами в целочисленные 0 и 1 | ||
| на вход принимает указатель на массив и его длину | ||
| возвращает указатель на новый массив. | ||
| */ | ||
| int* convertBoolElementsToInt(bool* arr, int length); |
There was a problem hiding this comment.
Ненужная функция. При касте bool превращается в 0 и 1 соответственно, т.е. их bool можно использовать там, где ожидается int.
| /* функция (собирающая все другие функции) | ||
| она сравнивает два числа | ||
| на вход пинимает два указателя на массивы с булевыми значениями | ||
| возвращает 1, -1, 0 в зависимости от результата сравнения. |
There was a problem hiding this comment.
А какая зависимость? Это нужно описывать.
| if (arr[i] == false) { | ||
| newArr[i] = 0; | ||
| } else { | ||
| newArr[i] = 1; | ||
| } | ||
| } |
There was a problem hiding this comment.
А что говорилось про смысл выражений типа true == true?
| int* newArr1 = convertBoolElementsToInt(p1, 8); | ||
| int decimal1 = convertToDecimal8bits(newArr1); | ||
| int* newArr2 = convertBoolElementsToInt(p2, 8); | ||
| int decimal2 = convertToDecimal8bits(newArr2); |
There was a problem hiding this comment.
Не-а. Сравнивать нужно было массивы bool.
| } | ||
|
|
||
| // так как в условии ничего не сказано про длину масиива, пусть она будет всего 8 элементов (8 бит) | ||
| int main(int argc, char* argv[]) |
There was a problem hiding this comment.
Зачем такие сложности, если без флага --test Вы всё равно запускаете тест, просто всего один?
| * функция перевода 8ми битного числа в десятичную систему счисления | ||
| * принимает на ход указатель на массив с целочисленными значениями 0 и 1 | ||
| */ | ||
| int convertToDecimal8bits(int* binary); |
There was a problem hiding this comment.
И, кстати, числа-то неотрицательные, почему тогда здесь везде int?
| return decimal; | ||
| } | ||
|
|
||
| int* convertBoolElementsToInt(bool* arr, int length) |
There was a problem hiding this comment.
Если у Вас до этого функция работает только с 8битными числами, зачем здесь произвольная длина? (Или там тогда зачем ограничение?)
There was a problem hiding this comment.
Здесь как-то грустненько :( Но код Вы написали и он даже как-то работает. 4 балла.
Добавила решение второй задачки из контрольной. Так же для нее прописан Cmake в самой папке со всеми файлами. Написаны тесты в отдельном файле, который соединяется с main.c с помощью хедера lib.h