Переписывание контрольной №1. Кальсина Яна#17
Переписывание контрольной №1. Кальсина Яна#17yaprogrammer18-yanchi wants to merge 6 commits intomainfrom
Conversation
There was a problem hiding this comment.
Офигеть! Столько функций на контрольной пугает...
| /* | ||
| * функция удаления элемента по индексу | ||
| * принимает указатель на список и индекс элемента | ||
| * возвращает булевое значние, сообщающее, удачно ли прошла операция | ||
| * внутри себя освобождает память удаляемого элемента | ||
| */ | ||
| bool removeElement(List* list, int index); |
| /* | ||
| * функция вывода списка в консоль | ||
| * принимает только указаетль на список | ||
| * ничего не возвращает | ||
| * печатает элементы списка через пробел | ||
| * в случае переданного пустого или несуществующего списка сообщает об этом пользователю | ||
| */ | ||
| void printList(List* list); |
| * функция проверки, один ли элемент в списке | ||
| * возвращает true если да, false, если нет | ||
| * на вход принимает указатель на список | ||
| */ | ||
| bool oneElement(List* list); |
| if (list == NULL || isEmpty(list) || index < 0) | ||
| return -1; |
There was a problem hiding this comment.
Неа, очень плохо, у Вас код ошибки --- элемент области допустимых значений
| List* reverse(List* list) | ||
| { | ||
| if (list == NULL || isEmpty(list)) { | ||
| return NULL; | ||
| } | ||
|
|
||
| List* newOneList = newList(); | ||
| copy(list, newOneList); | ||
|
|
||
| if (newOneList == NULL || isEmpty(newOneList)) { | ||
| return NULL; | ||
| } | ||
| ListNode* prev = NULL; | ||
| ListNode* current = newOneList->head; | ||
| ListNode* next = NULL; | ||
|
|
||
| while (current != NULL) { | ||
| next = current->next; | ||
| current->next = prev; | ||
| prev = current; | ||
| current = next; | ||
| } | ||
| newOneList->head = prev; | ||
| return newOneList; | ||
| } |
There was a problem hiding this comment.
Похоже на правду, но доставая элементы из первого списка и перекладывая их во второй было бы сильно проще
| deleteList(newOne1); | ||
| return false; |
There was a problem hiding this comment.
А здесь никакого сообщения об ошибке нет, странно
| if (argc == 2 && strcmp(argv[1], "--test") == 0) { | ||
| bool allTestsPassed = tests(); | ||
| if (allTestsPassed) { | ||
| printf("Все тесты прошли успешно"); | ||
| } else { | ||
| printf("Некоторые тесты не были пройдены"); | ||
| } | ||
| printf("\n"); | ||
| return 0; | ||
| } | ||
| return 0; |
There was a problem hiding this comment.
Забавно, что здесь Вы решили попробовать посмотреть в аргументы, а в другой задаче нет. (в 3 задаче даже правильнее)
| for (int i = 1; i < length; i++) { | ||
| if (arr[i] != 0) { | ||
| int temp = arr[0]; | ||
| arr[0] = arr[i]; | ||
| arr[i] = temp; | ||
| break; | ||
| } | ||
| } |
There was a problem hiding this comment.
Да блин, почему Вы решили, что нули надо использовать. Я говорил ровно обратное
| return result; | ||
| } | ||
|
|
||
| int getMinNumberFromDigits(unsigned num, int length) |
There was a problem hiding this comment.
Забавно, что на вход у Вас беззнаковое, а выход знаковый
Добавила решения второй и третьей задач. Тесты все прописаны в самих исходных файлах.