letsbegin

This commit is contained in:
dzruyk
2023-03-04 00:00:13 +03:00
commit d21dafee04

73
README.md Normal file
View File

@@ -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) -- утилита для удаления файлов