Giter VIP home page Giter VIP logo

kovani / completed_piscine_c Goto Github PK

View Code? Open in Web Editor NEW

This project forked from evgenkarlson/completed_piscine_c

0.0 0.0 0.0 50.44 MB

2020 | Этот репозиторий содержит множество версий выполненных и закомментированных задач на каждый день самого первого "Бассейна по Си".

License: MIT License

Shell 0.32% Python 0.01% Perl 0.02% C 96.63% Makefile 3.00% CMake 0.02%

completed_piscine_c's Introduction

「 Completed Piscine C 」


СОДЕРЖИМОЕ БАССЕЙНА
  • День 01: Shell00 - Командная строка Unix

  • День 02: Shell01 - Командная строка Unix

  • День 03: C00:

    • ex00 = ft_putchar.c
    • ex01 = ft_print_alphabet.c
    • ex02 = ft_print_reverse_alphabet.c
    • ex03 = ft_print_numbers.c
    • ex04 = ft_is_negative.c
    • ex05 = ft_print_comb.c
    • ex06 = ft_print_comb2.c
    • ex07 = ft_putnbr.c
    • ex08 = ft_print_combn.c
  • День 04: C01:

    • ex00 = ft_ft.c
    • ex01 = ft_ultimate_ft.c
    • ex02 = ft_swap.c
    • ex03 = ft_div_mod.c
    • ex04 = ft_ultimate_div_mod.c
    • ex05 = ft_putstr.c
    • ex06 = ft_strlen.c
    • ex07 = ft_rev_int_tab.c
    • ex08 = ft_sort_int_tab.c
  • День 05-07: Rush00 - Написать программу отображения индивидуальных сеток с различными размерами.

  • День 08: C02:

    • ex00 = ft_strcpy.c
    • ex01 = ft_strncpy.c
    • ex02 = ft_str_is_alpha.c
    • ex03 = ft_str_is_numeric.c
    • ex04 = ft_str_is_lowercase.c
    • ex05 = ft_str_is_uppercase.c
    • ex06 = ft_str_is_printable.c
    • ex07 = ft_strupcase.c
    • ex08 = ft_strlowcase.c
    • ex09 = ft_strcapitalize.c
    • ex10 = ft_strlcpy.c
    • ex11 = ft_putstr_non_printable.c
    • ex12 = ft_print_memory.c
  • День 09: C03:

    • ex00 = ft_strcmp.c
    • ex01 = ft_strncmp.c
    • ex02 = ft_strcat.c
    • ex03 = ft_strncat.c
    • ex04 = ft_strstr.c
    • ex05 = ft_strlcat.c
  • День 10: C04:

    • ex00 = ft_strlen.c
    • ex01 = ft_putstr.c
    • ex02 = ft_putnbr.c
    • ex03 = ft_atoi.c
    • ex04 = ft_putnbr_base.c
    • ex05 = ft_atoi_base.c
  • День 11: C05:

    • ex00 = ft_iterative_factorial.c
    • ex01 = ft_recursive_factorial.c
    • ex02 = ft_iterative_power.c
    • ex03 = ft_recursive_power.c
    • ex04 = ft_fibonacci.c
    • ex05 = ft_sqrt.c
    • ex06 = ft_is_prime.c
    • ex07 = ft_find_next_prime.c
    • ex08 = ft_ten_queens_puzzle.c
  • День 12-14: Rush01 - Написать программу решающую логическую головоломку Небоскребы(skyscapers).

  • День 15: C06:

    • ex00 = ft_print_program_name.c
    • ex01 = ft_print_params.c
    • ex02 = ft_rev_params.c
    • ex03 = ft_sort_params.c
  • День 16: C07:

    • ex00 = ft_strdup.c
    • ex01 = ft_range.c
    • ex02 = ft_ultimate_range.c
    • ex03 = ft_strjoin.c
    • ex04 = ft_convert_base.c
    • ex05 = ft_split.c
  • День 17: C08:

    • ex00 = ft.h
    • ex01 = ft_boolean.h
    • ex02 = ft_abs.h
    • ex03 = ft_poin.h
    • ex04 = ft_strs_to_tab.h | ft_strs_to_tab.c
    • ex05 = ft_show_tab.h | ft_show_tab.c
  • День 18: C09:

    • ex00 = libft_creator.sh | ft_putchar.c | ft_swap.c | ft_putstr.c | ft_strlen.c | ft_strcmp.c
    • ex01 = Makefile
    • ex02 = ft_split.c
  • День 19-21: Rush02.

  • День 22: C10:

    • ex00 = ft_display_file
    • ex01 = ft_cat
    • ex02 = ft_tail
    • ex03 = ft_hexdump
  • День 23: C11:

    • ex00 = ft_foreach.c
    • ex01 = ft_map.c
    • ex02 = ft_any.c
    • ex03 = ft_count_if.c
    • ex04 = ft_is_sort.c
    • ex05 = do-op
    • ex06 = ft_sort_string_tab.c
    • ex07 = ft_advanced_sort_string_tab.c
  • День 24: C12:

    • ex00 = ft_create_elem.c | ft_list.h
    • ex01 = ft_list_push_front.c | ft_list.h
    • ex02 = ft_list_size.c | ft_list.h
    • ex03 = ft_list_last.c | ft_list.h
    • ex04 = ft_list_push_back.c | ft_list.h
    • ex05 = ft_list_push_strs.c | ft_list.h
    • ex06 = ft_list_clear.c | ft_list.h
    • ex07 = ft_list_at.c | ft_list.h
    • ex08 = ft_list_reverse.c
    • ex09 = ft_list_foreach.c | ft_list.h
    • ex10 = ft_list_foreach_if.c | ft_list.h
    • ex11 = ft_list_find.c | ft_list.h
    • ex12 = ft_list_remove_if.c | ft_list.h
    • ex13 = ft_list_merge.c | ft_list.h
    • ex14 = ft_list_sort.c | ft_list.h
    • ex15 = ft_list_reverse_fun.c | ft_list.h
    • ex16 = ft_sorted_list_insert.c | ft_list.h
    • ex17 = ft_sorted_list_merge.c | ft_list.h
  • День 25: C13:

    • ex00 = btree_create_node.c | ft_btree.h
    • ex01 = btree_apply_prefix.c | ft_btree.h
    • ex02 = btree_apply_infix.c | ft_btree.h
    • ex03 = btree_apply_suffix.c | ft_btree.h
    • ex04 = btree_insert_data.c | ft_btree.h
    • ex05 = btree_search_item.c | ft_btree.h
    • ex06 = btree_level_count.c | ft_btree.h
    • ex07 = btree_apply_by_level.c | ft_btree.h
  • Финальный проект : BSQ - Написать программу, которая находит самый большой квадрат на данной карте и отображает его.


Описание

• Этот репозиторий содержит множество версий выполненных и закомментированных задач на каждый день самого первого бассейна по Си.

• На данный момент выполнена работа по проверке заданий на корректную работоспособность у папки Exam_C, shell00, shell01 , Rush00 и папок от с00 до с13 включительно.

• Каждая папка каждого дня бассейна содержит pdf файл с заданиями написанные на английском либо французском языке.

• Также, в самих папках каждого дня бассейна будут подпапки содержащие в себе одиночный файл(или группу файлов) с требуемым названием, хранящие внутри себя несколько версий выполения требуемого задния. Эти версии выполнения задания в файле будут разделены между собой тройной строкой комментария.

• Если задание требует содержать в себе несколько файлов(такие задания будут ближе к концу), то версии его выполнения будут разделены по подпапкам.

Например:

  "./с10/ex06/Solution_00/",
  "./с10/ex06/Solution_01/",
  "./с10/ex06/Solution_02/",
  и т.д.

• Так же в папке выполненого задания может содержаться тестовый файл или папка с тестовыми файлами, скомпилировав которые можно посмотреть как работает требуемая в заданиии функция(или несколько функций).


Чтобы разобраться в заданиях используйте обучающие видео Школы 42 на 10-30 минут с теорией и примерами(используйте в плеере функцию субтитров и их перевода на нужный вам язык):

| Shell and Git video | C00 video | C01 video | C05 video| C06 video | C07 video | C08 video | C09 video | C11 video | C12 video | C13 video |


Для корректного отображения содержимого файлов, этого репозитория - склонируйте репозиторий к себе на компьютер и открывайте файлы через любой удобный вам редактор кода.


Компиляция:

Если кратко, то компиляция - это процесс трансляции файла с исходным кодом на языке Си в машинный код, который будет понятен для центрального процессора. Это нужно для того чтобы мы могли запустить нашу программу и она, с помощь центрального процессора, могла выполнить запрограммированные нами действия.

Для компиляции нашей программы вначале перейдем в папку содержащую файл с написанным нами исходным кодом этой программы. Откройте окно терминала и с помощью команды cd и адреса до папки содержащей файл с исходным кодом перейдите в папку где он находится(допустим у меня он лежит в папке Документы):

  cd ~/Документы

Что бы скомпилировать, к примеру, файл test.c содержащий написанный напи исходный код программы нужно:

  • Написать в терминале имя программы-компилятора(с помощью которого вы будете перобразовывать наш файл с текстовыми инструкциями в машинный код понятный процессору).
  • Добавить параметры компиляции
  • И указать путь до файла содержащего исходный код нашей программмы(т.к. мы уже находимся в дериктории с этим файлом то адрес до файла мы запишем вот так test.c ).

В итоге у вас должна получиться вот такая команда для компиляции файла с исходным кодом(на языке Cи) в исполняемый файл понятный процессору :

  gcc -Wall -Werror -Wextra test.c 

Далее нажимаем Enter и на выходе(если у вас система семейства unix) получим файл a.out. Если же у вас система windows то на выходе вы получите файл a.exe.

Исполняемый файл программы появится в той дерриктории, в которую вы перешли в через окно терминала перед компиляцией(в котором компилировали файл с исходным кодом).

Особенности запуска полученой программы:

Если у вас Windows запустить программму можно просто написав в окне терминала путь к ней :

  ./a.exe

Но если у вас Linux или др операционная система семейства Unix, то для того чтобы система позволила вам запустить исполняемый файл с созданной вами программой, перед запуском необходимо дать этому исполняемому файлу права на выполнение! Иначе, система не позволит его запустить.

По этому дадим нашему исполняемому файлу права на выполнение, вот такой командой, прописав в терминале < имя программы >, < аргументы выполения > и < путь до файла >:

  chmod +x ./a.out

Чтобы запустить программу через терминал напишите в окне терминала путь к ней:

  ./a.out

Чтобы не терять время, можно все команды соединить в одну строку записав в окне терминала вот так:

  gcc -Wall -Werror -Wextra test.c && chmod +x ./a.out && ./a.out

completed_piscine_c's People

Contributors

evgenkarlson avatar shadowofbeing avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.