commit d21dafee043d587eae80d9b8fab395ba8898e930 Author: dzruyk Date: Sat Mar 4 00:00:13 2023 +0300 letsbegin diff --git a/README.md b/README.md new file mode 100644 index 0000000..edaa3bc --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +## letsbegin + +Копия README.md на сайте `https://timp.pw/121/lab0_letsbegin` + +``` +Пользователи VM +user/user +root/root +``` + +Задачи: + +* Развернуть ВМ `debian 11`. +* shell intro +* потыркать gcc, vim/gedit/code (visual studio code), man +* Вспомнить/почитать про указатели в C + +* написать функции + * helloworld -- программа печатающая helloworld ^_^ + * написать функцию mystrlen (функция, печатающая длину строки) + Интерфейс функции: + ``` + int mystrlen(const char *s); + ``` + * написать функцию mystr_idx, + которая находит индекс строки substr в строке str или -1, если такой подстроки нет + Интерфейс функции: + ``` + int mystr_idx(char *str, char *substr) + ``` + Примеры работы: + mystr_idx("helloworld", "world") == 5 + mystr_idx("helloworld", "helloworld") == 0 + mystr_idx("helloworld", "foo") == -1 + + * sum (функция должна суммировать int-массив) + * fibonachi + + +* Написать на C программу `wcl`, которая будет печатать количество строк в файлах на стандартный вывод. + +В качестве аргументов программе `wcl` передаётся один или несколько путей к файлам. +На выход печатается количество строк и имя файла (разделённые символом \t). + +Примеры работы: + +``` +$ ./wcl ./test/wiki_ci +3335 ./test/wiki_ci + +$ ./wcl ./test/wiki_ci ./test/nullfile +3335 ./test/wiki_ci +0 ./test/nullfile +``` + +*ВАЖНО*: Уточнение для самых хитрых. Использовать system/execve для запуска внешних утилит нельзя!!!!1111адинадинадин + + + +Вам могут понадобится функции: + +* fopen(3) +* fread(3) +* fclose(3) +* feof(3) + +Могут пригодится утилиты: +* gcc(1) -- компилятор +* diff(1) -- утилита для поиска различий между двумя текстовыми файлми + может пригодится для тестов +* rm(1) -- утилита для удаления файлов + +