letsbegin
This commit is contained in:
73
README.md
Normal file
73
README.md
Normal 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) -- утилита для удаления файлов
|
||||
|
||||
|
||||
Reference in New Issue
Block a user