Правила для лабораторных работ

Код

Код должен содержать осмысленные, говорящие имена переменных и функций

Пример функции, которая считает, сколько раз символ letter встретится в строке string:

int letterCounter(char *string, char letter)
{
int letterCount = 0;
for(int i = 0; string[i]; i++)
if(string[i] == letter)
letterCount++;
return letterCount;
}

Исключение: имена переменных в цикле cо счётчиком

Пример использования цикла со счётчиком:

for(i = 0; i < array_size; i++){
... // тело цикла
}

Для считывания строк (в том числе с консоли) используйте функцию fgets. Запрещается использовать scanf и gets

Пример использования fgets для считывания с консоли:

int size = 100;
char string[size];
fgets(string,size,stdin);

Освобождайте выделенную динамическую память

Пример выделения и освобождения памяти:

char* buffer = (char*)malloc(sizeof(char) * buffer_size);
...
free(buffer);

git & GitHub

Именование ветки: <Фамилия>_<Имя>_<Вид и номер работы>

Пример именования ветки для студента Иванова Ивана, который хочет выполнить первую лабораторную работу:

Ivanov_Ivan_lr1

Комменарий коммита должен быть осмысленным

Пример добавления комментария к коммиту (Ubuntu):

git commit -m "Ivanov LR №1 done"

Каждая новая лабораторная/курсовая/контрольная работа должна находиться в своей ветке, которая обязательно должна быть создана из ветки master

Пример перехода на ветку master и создания + перехода в новую ветку Ivanov_Ivan_lr1 (Ubuntu):

git checkout master && git pull origin master
git checkout -b Ivanov_Ivan_lr1

Каждая лабораторная работа должна находиться в своей папке

Пример создания папки (Ubuntu):

mkdir Ivanov_Ivan_lr1

Добавление файлов на Github должно происходить с помощью консоли

Пример добавления файлов, создания коммита и отправки коммитов на GitHub (Ubuntu):

git add Ivanov_Ivan_lr1/main.c
git commit -m "Ivanov LR №1 done"
git push origin Ivanov_Ivan_lr1

В репозитории должен храниться только исходный код и отчёты к лабораторным