<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>udarcs</title><author><name>udarcs</name></author><id>https://teletype.in/atom/udarcs</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/udarcs?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/udarcs?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-16T12:42:25.353Z</updated><entry><id>udarcs:PaREDM3oFqb</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/PaREDM3oFqb?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>C Piscine Shell 00</title><published>2021-06-14T12:39:22.688Z</published><updated>2021-06-14T13:18:37.128Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/ac/ff/acff67d4-7ec2-4066-98b4-427c574b5f4f.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/98/0f/980f98c8-9b52-454d-b322-5848f5643d96.png&quot;&gt;C Piscine Shell 00 ex00 (Z)</summary><content type="html">
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex00&lt;/strong&gt; (Z)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a file called z that returns &amp;quot;Z&amp;quot;, followed by a new line, whenever the command cat is used on it.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/98/0f/980f98c8-9b52-454d-b322-5848f5643d96.png&quot; width=&quot;561&quot; /&gt;
    &lt;figcaption&gt;&amp;quot;Z&amp;quot;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;• Создать файл с именем &lt;code&gt;z&lt;/code&gt;, который возвращает &lt;code&gt;Z&lt;/code&gt;, за которым следует новая строка всякий раз, когда в нем используется команда &lt;code&gt;cat&lt;/code&gt;.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/98/0f/980f98c8-9b52-454d-b322-5848f5643d96.png&quot; width=&quot;561&quot; /&gt;
    &lt;figcaption&gt;&amp;quot;Z&amp;quot;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d3/8c/d38cff6f-82e8-4e63-b22c-7e95c5e4d11a.png&quot; width=&quot;1035&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Так же можно создать файл набрав команду текстового редактора Vim&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;vim z&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;открыть файл для редактирования &lt;strong&gt;i &lt;/strong&gt;записать в него букву&lt;strong&gt; Z&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Закрыть редактирование кнопкой &lt;strong&gt;ESC &lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Сохранить и выйти зажать&lt;strong&gt; SHIFT : &lt;/strong&gt;набрать в меню&lt;strong&gt; wq&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;w&lt;/strong&gt; - записать изменения в файл (write)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;q &lt;/strong&gt;-выйти (quit)&lt;/p&gt;
  &lt;p&gt;Документация читать &lt;a href=&quot;https://losst.ru/komanda-ls-linux&quot; target=&quot;_blank&quot;&gt;(здесь)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex01&lt;/strong&gt; (Z)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a file called testShell00 in your submission directory&lt;/p&gt;
  &lt;p&gt;• Figure out a way for the output to look like this (except for the “total 1” line):&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/6a/a8/6aa8b1ee-fff0-47ae-9669-d73451a1fa5d.png&quot; width=&quot;562&quot; /&gt;
    &lt;figcaption&gt;testShell00&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;• Once you’ve achieved the previous steps, execute the following command to create the file to be submitted: tar -cf testShell00.tar testShell00.&lt;/p&gt;
  &lt;p&gt;• Создать файл с названием &lt;code&gt;testDay00&lt;/code&gt; и Задать ему требуемые из скриншота свойства:&lt;/p&gt;
  &lt;p&gt;• Не беспокойтесь о том, что у вас вместо XX.&lt;/p&gt;
  &lt;p&gt;• Год будет принят вместо времени на метке времени файла.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/6a/a8/6aa8b1ee-fff0-47ae-9669-d73451a1fa5d.png&quot; width=&quot;562&quot; /&gt;
    &lt;figcaption&gt;testShell00&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;(Необходимо заархивировать и удалить из папки все файлы! Должен остаться только архив &lt;strong&gt;testShell00.tar&lt;/strong&gt;)&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/68/6c/686ceb83-6d53-44c5-a2ae-3b52b1b21077.png&quot; width=&quot;1192&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/2f/00/2f0079b7-fe7f-4946-b978-29d021b06967.png&quot; width=&quot;801&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;U&lt;/strong&gt;ser &lt;strong&gt;G&lt;/strong&gt;roup &lt;strong&gt;O&lt;/strong&gt;ther к каждой группе мы выдаем права + или -&lt;/p&gt;
  &lt;p&gt;Записать права &lt;strong&gt;chmod&lt;/strong&gt; o+r &lt;strong&gt;названиефайла.сокращение&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Записать права &lt;strong&gt;chmod&lt;/strong&gt; g+r &lt;strong&gt;названиефайла.сокращение&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Записать права &lt;strong&gt;chmod&lt;/strong&gt; o+r &lt;strong&gt;названиефайла.сокращение&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Получаем права -r--r--r--&lt;/p&gt;
  &lt;h2&gt;Документация.&lt;/h2&gt;
  &lt;p&gt;Создание Файлов и управление их временем:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://itproffi.ru/sozdanie-fajlov-v-linux-komanda-touch/&quot; target=&quot;_blank&quot;&gt;https://itproffi.ru/sozdanie-fajlov-v-linux-komanda-touch/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Установка прав чтения/записи/выполнения:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://habr.com/ru/post/469667/&quot; target=&quot;_blank&quot;&gt;https://habr.com/ru/post/469667/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Запись данных в файл:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://linux-notes.org/vstavit-tekst-v-fajl-v-unix-linux/&quot; target=&quot;_blank&quot;&gt;https://linux-notes.org/vstavit-tekst-v-fajl-v-unix-linux/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Джокеры:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://habr.com/ru/post/99827/&quot; target=&quot;_blank&quot;&gt;https://habr.com/ru/post/99827/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex02&lt;/strong&gt; (Z)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create the following files and directories. Do what’s necessary so that when you use the &lt;strong&gt;ls -l&lt;/strong&gt; command in your directory, the output will looks like this :&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/87/f3/87f3b4db-7743-4c91-9f7e-cfb8c1e9f27f.png&quot; width=&quot;560&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;• Once you’ve done that, run tar -cf exo2.tar * to create the file to be submitted.&lt;/p&gt;
  &lt;p&gt;• Создать файлы и директории с требуемым названием;&lt;/p&gt;
  &lt;p&gt;• Задать им требуемые из скриншота свойства и размер в байтах&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/87/f3/87f3b4db-7743-4c91-9f7e-cfb8c1e9f27f.png&quot; width=&quot;560&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;• Не беспокойтесь о том, что у вас вместо XX.&lt;/p&gt;
  &lt;p&gt;• Год будет принят вместо времени на метке времени файла.&lt;/p&gt;
  &lt;p&gt;Обратите внимание &lt;strong&gt;3&lt;/strong&gt; и &lt;strong&gt;5&lt;/strong&gt; связаны через &lt;strong&gt;Hard Link&lt;/strong&gt; командой &lt;strong&gt;ln &lt;/strong&gt;для созданияудаляем 5 файл и пишем команду &lt;code&gt;ln test3 test5&lt;/code&gt; создается ссылка 5 указывающая на 3 файл. Тоже самое для &lt;strong&gt;0&lt;/strong&gt; и &lt;strong&gt;6&lt;/strong&gt; symbolic link &lt;strong&gt;ln&lt;/strong&gt; -&lt;strong&gt;s &lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://ru.wikipedia.org/wiki/Ln_(Unix)&quot; target=&quot;_blank&quot;&gt;https://ru.wikipedia.org/wiki/Ln_(Unix)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;(Все необходимо заархивировать и удалить из папки все файлы! Должен остаться только архив &lt;strong&gt;exo2.tar&lt;/strong&gt;)&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/17/fc/17fc2496-8637-4d49-bfd3-fac277058c32.png&quot; width=&quot;1205&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;Документация.&lt;/h2&gt;
  &lt;p&gt;Создание Файлов и управление их временем:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://itproffi.ru/sozdanie-fajlov-v-linux-komanda-touch/&quot; target=&quot;_blank&quot;&gt;https://itproffi.ru/sozdanie-fajlov-v-linux-komanda-touch/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Установка прав чтения/записи/выполнения:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://habr.com/ru/post/469667/&quot; target=&quot;_blank&quot;&gt;https://habr.com/ru/post/469667/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Запись данных в файл:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://linux-notes.org/vstavit-tekst-v-fajl-v-unix-linux/&quot; target=&quot;_blank&quot;&gt;https://linux-notes.org/vstavit-tekst-v-fajl-v-unix-linux/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Джокеры:&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://habr.com/ru/post/99827/&quot; target=&quot;_blank&quot;&gt;https://habr.com/ru/post/99827/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex03&lt;/strong&gt; (klist.txt)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Make sure you have a valid (non-expired) Kerberos ticket. If you don’t have one yet, get one. &lt;/p&gt;
  &lt;p&gt;• Once you’ve got at least one Kerberos ticket, write a list of all your tickets into a file named klist.txt&lt;/p&gt;
  &lt;p&gt;• Создать (узнать) ключ кэширования Kerberos&lt;/p&gt;
  &lt;p&gt;• Поместить его в klist.txt&lt;/p&gt;
  &lt;p&gt;Создаете директорию &lt;code&gt;mkdir ex03&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Переходите в нее &lt;code&gt;cd ex03&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;В командной стройке набираете &lt;code&gt;klist &lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Записываем ключ через &lt;code&gt;vim&lt;/code&gt; в файл &lt;strong&gt;klist.txt&lt;/strong&gt;&lt;/p&gt;
  &lt;h2&gt;Документация&lt;/h2&gt;
  &lt;p&gt;Справка по &lt;strong&gt;klist&lt;/strong&gt; &lt;a href=&quot;https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/klist&quot; target=&quot;_blank&quot;&gt;https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/klist&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Отображает список кэшированных в настоящее время билетов Kerberos&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex04&lt;/strong&gt; (midLS)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• In a midLS file, place the command line that will list all files and directories in your current directory (except for hidden files or any file that starts by a dot - yes, that includes double-dots), separated by a comma, by order of creation date. Make sure directories’ names are followed by a slash character.&lt;/p&gt;
  &lt;p&gt;• В файле &lt;code&gt;midLS&lt;/code&gt; поместите командную строку, в которой будут перечислены все файлы и каталоги в вашем текущем каталоге (кроме скрытых файлов или любого файла, начинающегося с точки - да, включая двойные точки), разделенных запятой, порядок создания даты. Убедитесь, что за именами каталогов следует косая черта.&lt;/p&gt;
  &lt;p&gt;• То, о чем не просили, делать нельзя!&lt;/p&gt;
  &lt;p&gt;• RTFM! (&amp;quot;Read The Fucking Manual&amp;quot; (Читай долбанное руководство).)&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/26/c3/26c35229-4c5c-46f5-a253-8a8035c3b117.png&quot; width=&quot;1201&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;Документация:&lt;/h2&gt;
  &lt;p&gt;LS&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://losst.ru/komanda-ls-linux&quot; target=&quot;_blank&quot;&gt;https://losst.ru/komanda-ls-linux&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex05&lt;/strong&gt; (git_commit.sh)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a shell script that displays the ids of the last 5 commits of your git repository.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/da/6b/da6beb5f-dd07-47ea-8f52-0d07b2c296be.png&quot; width=&quot;557&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;• Создайте сценарий оболочки, который отображает идентификаторы последних 5 коммитов вашего репозитория git:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/da/6b/da6beb5f-dd07-47ea-8f52-0d07b2c296be.png&quot; width=&quot;557&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/61/10/61105dd0-98a1-43c3-8396-f33d1ebf290f.png&quot; width=&quot;1202&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex06&lt;/strong&gt; (git_ignore.sh)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• In this exercice, you will write a short shell script that lists all the existing files ignored by your GiT repository. Example:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/77/49/7749562c-7674-4d65-a5a9-836440153248.png&quot; width=&quot;561&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;• В этом упражнении вы напишете короткий сценарий оболочки, который перечислит все существующие файлы, игнорируемые вашим репозиторием &lt;code&gt;Git&lt;/code&gt;. Пример:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/77/49/7749562c-7674-4d65-a5a9-836440153248.png&quot; width=&quot;561&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/9c/b4/9cb4043f-849f-42d3-94b9-11ab12b59352.png&quot; width=&quot;1204&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex07&lt;/strong&gt; (diff)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a file b, so that :&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d9/2b/d92b60ae-03b7-4bd5-8030-cd1339d9f1b0.png&quot; width=&quot;564&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;• Создайте файл &lt;code&gt;b&lt;/code&gt;. Файлы для работы нам предоставляется файл &lt;code&gt;a&lt;/code&gt; со старой версией файла и файл &lt;code&gt;sw.diff&lt;/code&gt;, который хранит информацию о новых изменениях.&lt;/p&gt;
  &lt;p&gt;• Содержимое файла &lt;code&gt;a&lt;/code&gt; при просмотре его через программу &lt;code&gt;cat&lt;/code&gt; с флагом &lt;code&gt;-e&lt;/code&gt; будет выглядеть так:&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d9/2b/d92b60ae-03b7-4bd5-8030-cd1339d9f1b0.png&quot; width=&quot;564&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8d/f0/8df00fcc-a248-404d-8df7-dd2bcd87eaa9.png&quot; width=&quot;1205&quot; /&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;arduino&quot;&gt;%&amp;gt;cat -e ./b
Episode V, A NEW H0PE It is a period of civil war$
Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. $
During the battle, Rebel spies managed to steal secret plans to the Empire&amp;#x27;s ultimate weapon, the STAR DEATH, an armored space station with enough power to destroy an entire planet.$
$
$
Pursued by the Empire&amp;#x27;s sinister agents,$
Princess Mehdi races home aboard her starship, custodian of the stolen plans that can save her people and restore the dictatorship to the galaxie..$
$
$
$
$&lt;/pre&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/54/e1/54e142ba-f545-43eb-b87a-0e452a496465.png&quot; width=&quot;1206&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;Документация:&lt;/h2&gt;
  &lt;p&gt;man diff: &lt;a href=&quot;https://ru.wikipedia.org/wiki/Diff&quot; target=&quot;_blank&quot;&gt;https://ru.wikipedia.org/wiki/Diff&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;man patch: &lt;a href=&quot;https://man7.org/linux/man-pages/man1/patch.1.html&quot; target=&quot;_blank&quot;&gt;https://man7.org/linux/man-pages/man1/patch.1.html&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Google.com&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex08&lt;/strong&gt; (clean)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• In a file called clean place the command line that will search for all files - in the current directory as well as in its sub-directories - with a name ending by ~, or a name that start and end by # &lt;/p&gt;
  &lt;p&gt;• The command line will show and erase all files found. &lt;/p&gt;
  &lt;p&gt;• Only one command is allowed: no ’;’ or ’&amp;amp;&amp;amp;’ or other shenanigans.&lt;/p&gt;
  &lt;p&gt;• В файле с именем &lt;code&gt;clean&lt;/code&gt; поместите командную строку, которая будет искать все файлы - в текущем каталоге, а также в его подкаталогах - заканчивая символом &lt;code&gt;~&lt;/code&gt; и &lt;code&gt;/&lt;/code&gt; или всеми файлами, которые начинаются или заканчиваются символом #. Командная строка покажет и удалит все найденные файлы. Допускается только одна команда: нельзя использовать &lt;code&gt;;&lt;/code&gt; или &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; или другие махинации.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/24/24/24241b4d-93d2-4bfb-9535-2bc3c37a7eae.png&quot; width=&quot;1203&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;Документация:&lt;/h2&gt;
  &lt;p&gt;man find&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://linux-faq.ru/page/komanda-file&quot; target=&quot;_blank&quot;&gt;https://linux-faq.ru/page/komanda-file&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine Shell 00 &lt;strong&gt;ex09&lt;/strong&gt; (ft_magic)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a magic file called ft_magic that will be formatted appropriately to detect files of 42 file type, built with a &amp;quot;42&amp;quot; string at the 42nd byte.&lt;/p&gt;
  &lt;p&gt;• Создайте магический файл с именем &lt;code&gt;ft_magic&lt;/code&gt;, который будет соответствующим образом отформатирован для обнаружения файлов с &lt;code&gt;42&lt;/code&gt; типами файлов, построенных со строкой &amp;quot;42&amp;quot; в 42-м байте.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/06/cd/06cd25f8-10f5-44af-a046-5b4cf5e3194f.png&quot; width=&quot;1207&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Команда для проверки:&lt;/p&gt;
  &lt;pre&gt;    file -i ft_magic&lt;/pre&gt;
  &lt;p&gt;Мы можем просмотреть шестнадцатеричный файл, введя следующую команду в терминале Linux:&lt;/p&gt;
  &lt;pre&gt;    xdd ft_magic&lt;/pre&gt;
  &lt;p&gt;Изменение магических номеров файла:&lt;/p&gt;
  &lt;pre&gt;    hexedit ft_magic&lt;/pre&gt;
  &lt;h2&gt;Документация:&lt;/h2&gt;
  &lt;p&gt;man file&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://linux-faq.ru/page/komanda-file&quot; target=&quot;_blank&quot;&gt;https://linux-faq.ru/page/komanda-file&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>udarcs:_gFB31wsly4</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/_gFB31wsly4?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>C Piscine C 04</title><published>2021-06-13T16:56:28.663Z</published><updated>2021-06-14T11:44:56.503Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/dd/79/dd791dd4-62a8-4f7a-9256-02d0cee04d2a.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/03/37/033770ca-611f-47cf-b296-13c41a6d4ad6.png&quot;&gt;Piscine C 03 ex00 (ft_strlen)</summary><content type="html">
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex00 &lt;/strong&gt;(ft_strlen)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that counts and returns the number of characters in a string. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_strlen(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая считает и возвращает количество символов в строке. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_strlen(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_strlen(char *str)
{
    int i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
        i++;
    return (i);
}
&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_strlen(char *str)
{
    int i;

    i = 0;
    while (*(str + i))
        i++;
    return (i);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_strlen(char *str)
{
    int n;

    n = 0;
    while (*str != &amp;#x27;\0&amp;#x27;)
    {
        str++;
        n++;
    }
    return (n);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/03/37/033770ca-611f-47cf-b296-13c41a6d4ad6.png&quot; width=&quot;1191&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex01 &lt;/strong&gt;(ft_putstr)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays a string of characters on the standard output. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_putstr(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает строку символов в стандартном выводе. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_putstr(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putstr(char *str)
{
    unsigned int    i;

    i = 0;
    while (*(str + i))
        i++;
    write(1, str, i);
}


/*        ИЛИ, тоже самое но, ТАК :
void    ft_putstr(char *str)
{
    unsigned int    i;
    i = 0;
    while (str[i])
        i++;
    write(1, str, i);
}
*/&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putstr(char *str)
{
    unsigned int    i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        ft_putchar(str[i]);
        i++;
    }
}

/*        ИЛИ, тоже самое но, ТАК :
void    ft_putstr(char *str)
{
    unsigned int i;
    i = 0;
    while (str[i])
        ft_putchar(str[i++]);
}
*/&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putstr(char *str)
{
    while (*str != &amp;#x27;\0&amp;#x27;)
    {
        ft_putchar(*str);
        str++;
    }
}

/*        ИЛИ, тоже самое но, ТАК :
void    ft_putstr(char *str)
{
    while (*str)
        ft_putchar(*str++);
}
*/&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/58/57/585708c9-682d-48c4-8f92-c4c35229ab51.png&quot; width=&quot;1199&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex02 &lt;/strong&gt;(ft_putnbr)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays the number entered as a parameter. The function has to be able to display all possible values within an int type variable. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_putnbr(int nb);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• For example: &lt;code&gt;ft_putnbr(42)&lt;/code&gt; displays &amp;quot;42&amp;quot;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает число, введенное в качестве параметра. Функция должна иметь возможность отображать все возможные значения в переменной типа int. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_putnbr(int nb);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Например: &lt;code&gt;ft_putnbr(42)&lt;/code&gt; displays &amp;quot;42&amp;quot;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putnbr(int nb)
{
    int    temp;
    int    size;

    size = 1;
    if (nb &amp;lt; 0)
    {
        ft_putchar(&amp;#x27;-&amp;#x27;);
        nb = -nb;
    }
    if (nb == -2147483648)
    {
        ft_putchar(&amp;#x27;2&amp;#x27;);
        nb = 147483648;
    }
    temp = nb;
    while ((temp /= 10) &amp;gt; 0)
        size *= 10;
    temp = nb;
    while (size)
    {
        ft_putchar((char)((temp / size)) + 48);
        temp %= size;
        size /= 10;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putnbr(int n)
{
    if (n &amp;lt; 0)
    {
        n = -n;
        ft_putchar(&amp;#x27;-&amp;#x27;);
    }
    if (n &amp;gt;= 10)
        ft_putnbr(n / 10);
    ft_putchar((n % 10) + &amp;#x27;0&amp;#x27;);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putnbr(int nb)
{
    if (nb &amp;lt; 0)
    {
        nb = -nb;
        ft_putchar(&amp;#x27;-&amp;#x27;);
    }
    if (nb &amp;lt; 10)
        ft_putchar(nb + &amp;#x27;0&amp;#x27;);
    else
    {
        ft_putnbr(nb / 10);
        ft_putnbr(nb % 10);
    }
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/c1/4c/c14ced75-d153-4666-90f1-45d3e4dcd49c.png&quot; width=&quot;1167&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d2/46/d2465ae2-c7e1-45bf-a657-403359c572af.png&quot; width=&quot;1211&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/35/d9/35d9fd53-3b7f-44a2-a760-30a936b19e4b.png&quot; width=&quot;1155&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex03 &lt;/strong&gt;(ft_putnbr)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Write a function that converts the initial portion of the string pointed by str to its int representation &lt;/p&gt;
  &lt;p&gt;• The string can start with an arbitray amount of white space (as determined by isspace(3)) &lt;/p&gt;
  &lt;p&gt;• The string can be followed by an arbitrary amount of + and - signs, - sign will change the sign of the int returned based on the number of - is odd or even. &lt;/p&gt;
  &lt;p&gt;• Finally the string can be followed by any numbers of the base 10. &lt;/p&gt;
  &lt;p&gt;• Your function should read the string until the string stop following the rules and return the number found until now. &lt;/p&gt;
  &lt;p&gt;• You should not take care of overflow or underflow. result can be undefined in that case. &lt;/p&gt;
  &lt;p&gt;• Here’s an example of a program that prints the atoi return value:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;$&amp;gt;./a.out &amp;quot; ---+--+1234ab567&amp;quot; &lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;-1234&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Напишите функцию, которая преобразует начальную часть строки, на которую указывает &amp;#x27;str&amp;#x27;, в ее представление &amp;#x27;int&amp;#x27; &lt;/p&gt;
  &lt;p&gt;• Строка может начинаться с произвольного количества пробелов (как определено с помощью isspace (3)) &lt;/p&gt;
  &lt;p&gt;• За строкой может следовать произвольное количество знаков &amp;#x27;+&amp;#x27; и &amp;#x27;-&amp;#x27;, знак &amp;#x27;-&amp;#x27; изменит знак возвращаемого целого числа &amp;#x27;int&amp;#x27; в зависимости от количества &amp;#x27;-&amp;#x27; нечетных или четных.&lt;/p&gt;
  &lt;p&gt;• Наконец, за строкой могут следовать любые числа с основанием 10(десятичные). &lt;/p&gt;
  &lt;p&gt;• Ваша функция должна читать строку до тех пор, пока она не перестанет следовать правилам и не вернет число, найденное до сих пор.&lt;/p&gt;
  &lt;p&gt;• Не стоит заботиться о переполнении или опустошении. В этом случае результат может быть неопределенным.&lt;/p&gt;
  &lt;p&gt;• Вот пример программы, которая печатает возвращаемое значение atoi:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;$&amp;gt;./a.out &amp;quot; ---+--+1234ab567&amp;quot; &lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;-1234&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_atoi(char *str)
{
    int    sign;
    int    num;

    sign = 1;
    num = 0;
    while ((*str == &amp;#x27; &amp;#x27;) || (*str == &amp;#x27;\t&amp;#x27;) || (*str == &amp;#x27;\n&amp;#x27;)
        || (*str == &amp;#x27;\v&amp;#x27;) || (*str == &amp;#x27;\f&amp;#x27;) || (*str == &amp;#x27;\r&amp;#x27;))
        str++;
    if (*str == &amp;#x27;-&amp;#x27;)
        sign = -1;
    while ((*str == &amp;#x27;-&amp;#x27;) || (*str == &amp;#x27;+&amp;#x27;))
        str++;
    while (*str &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; *str &amp;lt;= &amp;#x27;9&amp;#x27;)
    {
        num = (num * 10) + ((int)*str - &amp;#x27;0&amp;#x27;);
        str++;
    }
    return (num * sign);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int            ft_atoi(char *str)
{
    int        v;
    int        n;

    n = 0;
    if (*str == &amp;#x27;-&amp;#x27;)
    {
        str++;
        n = 1;
    }
    v = 0;
    while (*str != &amp;#x27;\0&amp;#x27;)
    {
        if (*str &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; *str &amp;lt;= &amp;#x27;9&amp;#x27;)
            v = (v * 10) + (*str - &amp;#x27;0&amp;#x27;);
        else
            return (0);
        str++;
    }
    return ((v &amp;gt; 0 &amp;amp;&amp;amp; n) ? -v : v);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_atoi(char *str)
{
    int    x;
    int total;
    int is_negative;

    is_negative = 0;
    x = 0;
    total = 0;
    while (str[x] == &amp;#x27; &amp;#x27; || str[x] == &amp;#x27;\n&amp;#x27; || str[x] == &amp;#x27;\r&amp;#x27; || str[x] == &amp;#x27;\f&amp;#x27;
            || str[x] == &amp;#x27;\t&amp;#x27; || str[x] == &amp;#x27;\v&amp;#x27; || str[x] == &amp;#x27;+&amp;#x27;)
        x++;
    if (str[x] == &amp;#x27;-&amp;#x27;)
    {
        is_negative = 1;
        x++;
    }
    while ((str[x] == &amp;#x27;-&amp;#x27;) || (str[x] == &amp;#x27;+&amp;#x27;))
        x++;
    while (str[x] &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; str[x] &amp;lt;= &amp;#x27;9&amp;#x27;)
    {
        total *= 10;
        total += ((int)str[x] - 48);
        x++;
    }
    if (is_negative)
        return (-total);
    else
        return (total);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_atoi(char *str)
{
    int    x;
    int total;
    int is_negative;

    is_negative = 0;
    x = 0;
    total = 0;
    while (str[x] == &amp;#x27; &amp;#x27; || str[x] == &amp;#x27;\n&amp;#x27; || str[x] == &amp;#x27;\r&amp;#x27; || str[x] == &amp;#x27;\f&amp;#x27;
            || str[x] == &amp;#x27;\t&amp;#x27; || str[x] == &amp;#x27;\v&amp;#x27; || str[x] == &amp;#x27;+&amp;#x27;)
        x++;
    if (str[x] == &amp;#x27;-&amp;#x27;)
    {
        is_negative = 1;
        x++;
    }
    while ((str[x] == &amp;#x27;-&amp;#x27;) || (str[x] == &amp;#x27;+&amp;#x27;))
        x++;
    while (str[x] &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; str[x] &amp;lt;= &amp;#x27;9&amp;#x27;)
    {
        total *= 10;
        total += ((int)str[x] - 48);
        x++;
    }
    if (is_negative)
        return (-total);
    else
        return (total);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/35/c0/35c0ffa7-581d-4696-9ff3-d7e21cca4c5f.png&quot; width=&quot;1173&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f4/39/f439838c-addf-4b47-911c-73086ebed9f8.png&quot; width=&quot;1185&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/75/b6/75b69187-f421-4742-bb21-a25e80c444b5.png&quot; width=&quot;1178&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/41/86/4186932f-2e69-4a15-8f94-1d7bf0822662.png&quot; width=&quot;1177&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 04 &lt;strong&gt;ex04 &lt;/strong&gt;(ft_putnbr_base)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays a number in a base system in the terminal. • This number is given in the shape of an int, and the radix in the shape of a string of characters. • The base-system contains all useable symbols to display that number : ◦ 0123456789 is the commonly used base system to represent decimal numbers ◦ 01 is a binary base system ; ◦ 0123456789ABCDEF an hexadecimal base system ; ◦ poneyvif is an octal base system. • The function must handle negative numbers. • If there’s an invalid argument, nothing should be displayed. Examples of invalid arguments : ◦ base is empty or size of 1; ◦ base contains the same character twice ; ◦ base contains + or - ; • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_putnbr_base(int nbr, char *base);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает число в нужной базовой системе счисления на экране.&lt;/p&gt;
  &lt;p&gt;• В аргументах функции это число дается нам в форме целого числа, а система счисления дается нам - в виде &amp;#x27;строки символов&amp;#x27;.&lt;/p&gt;
  &lt;p&gt;• Базовая система счисления содержит все используемые символы для отображения этого числа:&lt;/p&gt;
  &lt;p&gt;  - 0123456789 - широко используемая базовая десятична система для представления десятичных чисел;&lt;/p&gt;
  &lt;p&gt;  - 01 - двоичная базовая система;&lt;/p&gt;
  &lt;p&gt;  - 0123456789ABCDEF шестнадцатеричная базовая система;&lt;/p&gt;
  &lt;p&gt;  - poneyvif - это восьмеричная базовая система.&lt;/p&gt;
  &lt;p&gt;• Функция должна обрабатывать отрицательные числа.&lt;/p&gt;
  &lt;p&gt;• Если указан неверный аргумент, ничего не должно отображаться. Примеры неверных аргументов:&lt;/p&gt;
  &lt;p&gt;  - Если база, отражающая систему счисления, пуста или имеет размер 1;&lt;/p&gt;
  &lt;p&gt;  - Если база, отражающая систему счисления, содержит один и тот же символ дважды;&lt;/p&gt;
  &lt;p&gt;  - Если база, отражающая систему счисления, содержит символы &amp;#x27;+&amp;#x27; или &amp;#x27;-&amp;#x27;;&lt;/p&gt;
  &lt;p&gt;  - и т. д.&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_putnbr_base(int nbr, char *base);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ab/74/ab74b84e-73a2-48aa-b23d-73531f5e111d.png&quot; width=&quot;580&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_atoi(char *str)
{
    int    x;
    int total;
    int is_negative;

    is_negative = 0;
    x = 0;
    total = 0;
    while (str[x] == &amp;#x27; &amp;#x27; || str[x] == &amp;#x27;\n&amp;#x27; || str[x] == &amp;#x27;\r&amp;#x27; || str[x] == &amp;#x27;\f&amp;#x27;
            || str[x] == &amp;#x27;\t&amp;#x27; || str[x] == &amp;#x27;\v&amp;#x27; || str[x] == &amp;#x27;+&amp;#x27;)
        x++;
    if (str[x] == &amp;#x27;-&amp;#x27;)
    {
        is_negative = 1;
        x++;
    }
    while ((str[x] == &amp;#x27;-&amp;#x27;) || (str[x] == &amp;#x27;+&amp;#x27;))
        x++;
    while (str[x] &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; str[x] &amp;lt;= &amp;#x27;9&amp;#x27;)
    {
        total *= 10;
        total += ((int)str[x] - 48);
        x++;
    }
    if (is_negative)
        return (-total);
    else
        return (total);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void        ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

static int    ft_check_base(char *base)
{
    int    i;
    int    z;

    i = 0;
    if (!base || !base[1])
        return (0);
    while (base[i])
    {
        if (!((base[i] &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; base[i] &amp;lt;= &amp;#x27;9&amp;#x27;) || (base[i] &amp;gt;= &amp;#x27;a&amp;#x27; \
                &amp;amp;&amp;amp; base[i] &amp;lt;= &amp;#x27;z&amp;#x27;) || (base[i] &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; base[i] &amp;lt;= &amp;#x27;Z&amp;#x27;)))
            return (0);
        z = i + 1;
        while (base[z])
        {
            if (base[i] == base[z])
                return (0);
            z++;
        }
        i++;
    }
    return (i);
}


int        ft_get_len_future_nbr(int nbr, int base_type)
{
    int    size;

    if (base_type)
    {
        size = 1;
        while ((nbr /= base_type) &amp;gt; 0)
            size++;
    }
    return (size);
}

void    ft_conv_nbr(int nbr, int length, char *base, int base_type)
{
    int        i;
    int        n[length];

    i = 0;
    while (nbr)
    {
        n[i] = nbr % base_type;
        nbr /= base_type;
        i++;
    }
    while (i &amp;gt; 0)
        ft_putchar(base[n[--i]]);
    
}


void    ft_putnbr_base(int nbr, char *base)
{
    int        base_type;

    if ((base_type = ft_check_base(base)))
    {
        if (nbr &amp;lt; 0)
        {
            nbr = -nbr;
            ft_putchar(&amp;#x27;-&amp;#x27;);
        }
        ft_conv_nbr(nbr, ft_get_len_future_nbr(nbr, base_type), base, base_type);
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}


int        ft_check_base(char *base)
{
    int    i;
    int    z;

    i = 0;
    z = 0;
    if (base[0] == &amp;#x27;\0&amp;#x27; || base[1] == &amp;#x27;\0&amp;#x27;)
        return (0);
    while (base[i])
    {
        z = i + 1;
        if (base[i] == &amp;#x27;+&amp;#x27; || base[i] == &amp;#x27;-&amp;#x27;)
            return (0);
        if (base[i] &amp;lt; 32 || base[i] &amp;gt; 126)
            return (0);
        while (base[z])
        {
            if (base[i] == base[z])
                return (0);
            z++;
        }
        i++;
    }
    return (i);
}

void    ft_putnbr_base(int nbr, char *base)
{
    int    base_type;
    int    nbr_final[100];
    int    i;

    i = 0;
    if ((base_type = ft_check_base(base)))
    {
        if (nbr &amp;lt; 0)
        {
            nbr = -nbr;
            ft_putchar(&amp;#x27;-&amp;#x27;);
        }
        while (nbr)
        {
            nbr_final[i] = nbr % base_type;
            nbr = nbr / base_type;
            i++;
        }
        while (--i &amp;gt;= 0)
            ft_putchar(base[nbr_final[i]]);
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}


static int    ft_strlen(char *str)
{
    int len;

    len = 0;
    while (*str++ != &amp;#x27;\0&amp;#x27;)
    {
        len++;
    }
    return (len);
}

static void    ft_putnbr_base_n(int nbr, char *base, int n)
{
    if (nbr &amp;lt; 0)
    {
        ft_putchar(&amp;#x27;-&amp;#x27;);
        if (nbr == -2147483648)
        {
            ft_putnbr_base_n(2, base, n);
            ft_putnbr_base_n(147483648, base, n);
        }
        else
            ft_putnbr_base_n(-nbr, base, n);
    }
    else if (nbr &amp;lt; n)
        ft_putchar(base[nbr]);
    else
    {
        ft_putnbr_base_n(nbr / n, base, n);
        ft_putchar(base[nbr % n]);
    }
}

static int    ft_strchar(char *str, char to_find)
{
    while (*str != &amp;#x27;\0&amp;#x27;)
        if (to_find == *str++)
            return (1);
    return (0);
}

static int    ft_check_base(char *base, int n)
{
    while (n)
    {
        if (base[n] == &amp;#x27;+&amp;#x27; || base[n] == &amp;#x27;-&amp;#x27;)
            return (0);
        if (ft_strchar(base + n + 1, base[n]))
            return (0);
        --n;
    }
    return (1);
}

void        ft_putnbr_base(int nbr, char *base)
{
    int        base_len;

    base_len = ft_strlen(base);
    if (base &amp;amp;&amp;amp; (base_len &amp;gt; 1) &amp;amp;&amp;amp; ft_check_base(base, base_len))
        ft_putnbr_base_n(nbr, base, base_len);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/26/c8/26c81ce1-f23d-4d05-b0ab-6d71c89bbd26.png&quot; width=&quot;1179&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/dc/cc/dccc5fb5-04b9-42ff-9c1a-f1701aa8936a.png&quot; width=&quot;1185&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/0e/f4/0ef42728-c1af-4415-a9cc-ca5a841f53ee.png&quot; width=&quot;1178&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/2c/b5/2cb5b067-0cd6-4990-9826-70614c03b443.png&quot; width=&quot;1188&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 04 &lt;strong&gt;ex05 &lt;/strong&gt;(ft_atoi_base)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Write a function that converts the initial portion of the string pointed by str to int representation. &lt;/p&gt;
  &lt;p&gt;• str is in a specific base given as a second parameter. &lt;/p&gt;
  &lt;p&gt;• excepted the base rule, the function should work exactly like ft_atoi. &lt;/p&gt;
  &lt;p&gt;• If there’s an invalid argument, the function should return 0. Examples of invalid arguments : &lt;/p&gt;
  &lt;p&gt;   ◦ base is empty or size of 1; &lt;/p&gt;
  &lt;p&gt;   ◦ base contains the same character twice ; &lt;/p&gt;
  &lt;p&gt;   ◦ base contains + or - or whitespaces; &lt;/p&gt;
  &lt;p&gt;• Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_atoi_base(char *str, char *base);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Напишите функцию, которая преобразует начальную часть строки, на которую указывает &amp;#x27;str&amp;#x27;, в целое число &amp;#x27;int&amp;#x27;.&lt;/p&gt;
  &lt;p&gt;• Строка символов &amp;#x27;str&amp;#x27; представляет собой число в определенной системе счисления, заданной во втором параметре.&lt;/p&gt;
  &lt;p&gt;• За исключением базового правила, функция должна работать точно так же, как и функция &amp;#x27;ft_atoi&amp;#x27;.&lt;/p&gt;
  &lt;p&gt;• Если указан неверный аргумент, функция должна вернуть 0. Примеры неверных аргументов:&lt;/p&gt;
  &lt;p&gt;   ◦ Если база, отражающая систему счисления, пуста или имеет размер 1;&lt;/p&gt;
  &lt;p&gt;   ◦ Если база, отражающая систему счисления, содержит один и тот же символ дважды;&lt;/p&gt;
  &lt;p&gt;   ◦ Если база, отражающая систему счисления, содержит символы &amp;#x27;+&amp;#x27; или &amp;#x27;-&amp;#x27;;&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_atoi_base(char *str, char *base);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a3/64/a364e70a-3556-4eba-a137-d09845d3833c.png&quot; width=&quot;576&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_ctoi(char c)
{
    if (c &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; c &amp;lt;= &amp;#x27;9&amp;#x27;)
        return (c - &amp;#x27;0&amp;#x27;);
    if (c &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; c &amp;lt;= &amp;#x27;F&amp;#x27;)
        return (c - &amp;#x27;A&amp;#x27; + 10);
    if (c &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; c &amp;lt;= &amp;#x27;f&amp;#x27;)
        return (c - &amp;#x27;a&amp;#x27; + 10);
    return (-1);
}



int        ft_pow(int nb, int power)
{
    int    result;

    result = 1;
    if(power &amp;lt; 0)
        return (0);
    if(power == 0)
        return (1);
    while (power--)
        result *= nb;
    return (result);
}



int        ft_check_base(char *base)
{
    int    i;
    int    z;

    i = 0;
    z = 0;
    if (!base || !base[1])
        return (0);
    while (base[i])
    {
        z = i + 1;
        if (!((base[i] &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; base[i] &amp;lt;= &amp;#x27;9&amp;#x27;) || (base[i] &amp;gt;= &amp;#x27;a&amp;#x27; \
                &amp;amp;&amp;amp; base[i] &amp;lt;= &amp;#x27;z&amp;#x27;) || (base[i] &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; base[i] &amp;lt;= &amp;#x27;Z&amp;#x27;)))
            return (0);
        while (base[z])
        {
            if (base[i] == base[z])
                return (0);
            z++;
        }
        i++;
    }
    return (i);
}



int        ft_atoi_base(char *str, char *base)
{
    int        num;
    int        negative;
    int        i;
    int        pow;
    int        base_type;

    negative = 1;
    i = 0;
    if((base_type = ft_check_base(base)))
    {
        if (*str == &amp;#x27;-&amp;#x27;)
        {
            i++;
            negative = -1;
        }
        while (str[i])
            i++;
        pow = 0;
        num = 0;
        while (--i &amp;gt;= 0)
        {
            if ((ft_ctoi(str[i]) != -1) &amp;amp;&amp;amp; (ft_ctoi(str[i]) &amp;lt; base_type))
                num += ft_ctoi(str[i]) * ft_pow(base_type, pow++);
        }
        return (num * negative);
    }
    return (0);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;static int    ft_isspace(int c)
{
    return (c == &amp;#x27;\t&amp;#x27; || c == &amp;#x27;\n&amp;#x27; || c == &amp;#x27;\v&amp;#x27; || c == &amp;#x27;\f&amp;#x27; || c == &amp;#x27;\r&amp;#x27;
        || c == &amp;#x27; &amp;#x27;);
}

static int    ft_strlen(char *str)
{
    int        i;

    i = 0;
    while (str[i])
        i++;
    return (i);
}

static int    ft_find_char(char c, char *str)
{
    int i;

    i = 0;
    while (str[i] &amp;amp;&amp;amp; str[i] != c)
        i++;
    return (i);
}

int            ft_atoi_base(char *str, char *base)
{
    int        result;
    int        neg;
    int        base_len;

    result = 0;
    base_len = ft_strlen(base);
    if (base_len &amp;lt; 2)
        return (0);
    while (ft_isspace(*str))
        str++;
    neg = *str == &amp;#x27;-&amp;#x27;;
    str += (*str == &amp;#x27;+&amp;#x27; || *str == &amp;#x27;-&amp;#x27;) ? 1 : 0;
    while (ft_find_char(*str, base) &amp;lt; base_len)
        result = result * base_len - ft_find_char(*str++, base);
    return (neg ? result : -result);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        is_pr3(char c)
{
    return (c &amp;gt;= 32 &amp;amp;&amp;amp; c &amp;lt;= 126);
}

int        is_space3(char c)
{
    return ((c &amp;gt;= 9 &amp;amp;&amp;amp; c &amp;lt;= 13) || c == &amp;#x27; &amp;#x27;);
}

int        validate_base3(char *base)
{
    char    *ptr;
    int        i;
    int        vals[95];

    ptr = base;
    i = -1;
    while (i++ &amp;lt; 95)
        vals[i] = 0;
    i = 0;
    while (*ptr)
    {
        if (!is_pr3(*ptr))
            return (0);
        if (*ptr == &amp;#x27;+&amp;#x27; || *ptr == &amp;#x27;-&amp;#x27;)
            return (0);
        if (vals[(*ptr) - 32])
            return (0);
        vals[(*ptr) - 32] = 1;
        i++;
        ptr++;
    }
    if (i &amp;lt; 2)
        return (0);
    return (i);
}

int        parse_positive(char *str, char *base, int basen)
{
    char    *ptr;
    int        i;
    int        v;

    v = 0;
    while (*str)
    {
        i = 0;
        ptr = base;
        while (*ptr)
        {
            if (*str == *ptr)
                break ;
            i++;
            ptr++;
        }
        if (i &amp;gt;= basen)
            break ;
        v *= basen;
        v -= i;
        str++;
    }
    return (v);
}

int        ft_atoi_base(char *str, char *base)
{
    int        basen;
    int        v;
    int        is_positive;

    if (!(basen = validate_base3(base)))
        return (0);
    is_positive = 0;
    while (is_space3(*str))
        str++;
    if (*str == &amp;#x27;+&amp;#x27; || *str == &amp;#x27;-&amp;#x27;)
    {
        is_positive = -1;
        if (*str == &amp;#x27;+&amp;#x27;)
            is_positive = 1;
        str++;
    }
    v = parse_positive(str, base, basen);
    v *= -(is_positive + !is_positive);
    return (v);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/0b/c8/0bc8f522-5db4-448b-8be1-27ddd0b255bd.png&quot; width=&quot;1176&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/0f/0f/0f0f770b-32d1-46d6-bb10-e461bd210b23.png&quot; width=&quot;1180&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/61/6b/616ba394-bfbe-4d5b-872b-266576f1d688.png&quot; width=&quot;1179&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/7b/b0/7bb076ca-6880-4427-92ad-6506e04ad086.png&quot; width=&quot;1176&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/60/15/60155e3f-259f-4490-a8ff-7fd93e09668d.png&quot; width=&quot;1187&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/1b/51/1b51ae6b-c75c-4109-ae55-39d571f8cf3c.png&quot; width=&quot;1174&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>udarcs:1Vj-ZU-8r0F</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/1Vj-ZU-8r0F?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>C Piscine C 03</title><published>2021-06-13T16:51:12.412Z</published><updated>2021-06-13T16:51:12.412Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/b1/24/b1247740-8cdf-49bd-9a92-9f01e5139942.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/70/c0/70c0a7fa-f7c8-465f-b861-79c87a5d8c6f.png&quot;&gt;Piscine C 03 ex00 (ft_strcpy)</summary><content type="html">
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex00 &lt;/strong&gt;(ft_strcpy)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Reproduce the behavior of the function strcmp (man strcmp). • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_strcmp(char *s1, char *s2);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Воспроизвести поведение функции strcmp (man strcmp). • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_strcmp(char *s1, char *s2);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/70/c0/70c0a7fa-f7c8-465f-b861-79c87a5d8c6f.png&quot; width=&quot;591&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strcmp(char *s1, char *s2)
{
    while (*s1 &amp;amp;&amp;amp; (*s1 == *s2))
    {
        s1++;
        s2++;
    }
    return (*s1 - *s2);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_strcmp(char *s1, char *s2)
{
    int i;

    i = 0;
    while (s1[i] &amp;amp;&amp;amp; (s1[i] == s2[i]))
    {
        i++;
    }
    return (s1[i] - s2[i]);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strcmp(char *s1, char *s2)
{
    while (*s1++ == *s2++)
        if (*s1 == &amp;#x27;\0&amp;#x27; &amp;amp;&amp;amp; *s2 == &amp;#x27;\0&amp;#x27;)
            return (0);
    return (*--s1 - *--s2);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_strcmp(char *s1, char *s2)
{
    int i;

    i = 0;
    while (s1[i] == s2[i])
    {
        if (s1[i] == &amp;#x27;\0&amp;#x27; &amp;amp;&amp;amp; s2[i] == &amp;#x27;\0&amp;#x27;)
            return (0);
        i++;
    }
    return (s1[i] - s2[i]);
}&lt;/pre&gt;
  &lt;p&gt;Решение 5&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int ft_strcmp(char *s1, char *s2)
{
    int    i;

    i = 0;
    while (s1[i] || s2[i])
    {
        if (s1[i] != s2[i])
            return (s1[i] - s2[i]);
        i++;
    }
    return (0);
}&lt;/pre&gt;
  &lt;p&gt;Решение 6&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_strcmp(char *s1, char *s2)
{
    int    i;

    i = 0;
    while (s1[i] || s2[i])
    {
        if (s1[i] &amp;lt; s2[i])
            return (-1);
        if (s1[i] &amp;gt; s2[i])
            return (1);
        i++;
    }
    return (0);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8e/69/8e693776-0163-4d5e-a7db-1fc28153f74f.png&quot; width=&quot;1126&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/bd/ec/bdecb4fc-a89f-4a05-9ab9-e882a7ebf7df.png&quot; width=&quot;1115&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex01 &lt;/strong&gt;(ft_strcpy)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Reproduce the behavior of the function strncmp (man strncmp). • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_strncmp(char *s1, char *s2, unsigned int n);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Воспроизвести поведение функции strncmp (man strncmp) • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_strncmp(char *s1, char *s2, unsigned int n);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/87/e7/87e774c1-da19-4574-a2e2-083463bb76e6.png&quot; width=&quot;572&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int    ft_strcmp(char *s1, char *s2)
{
    int    i;

    i = 0;
    while (s1[i] || s2[i])
    {
        if (s1[i] &amp;lt; s2[i])
            return (-1);
        if (s1[i] &amp;gt; s2[i])
            return (1);
        i++;
    }
    return (0);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strncmp(char *s1, char *s2, unsigned int n)
{
    int    i;

    i = 0;
    while (i &amp;lt; n)
    {
        if (*s1 != *s2)
            return (*s1 - *s2);
        if (*s1 == &amp;#x27;\0&amp;#x27; &amp;amp;&amp;amp; *s2 == &amp;#x27;\0&amp;#x27;)
            return (0);
        *s1++;
        *s2++;
        i++;
    }
    return (0);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strncmp(char *s1, char *s2, unsigned int n)
{
    unsigned int i;

    i = 1;
    while (*s1++ == *s2++)
    {
        if (i &amp;gt;= n)
            return (0);
        if (*s1 == &amp;#x27;\0&amp;#x27; &amp;amp;&amp;amp; *s2 == &amp;#x27;\0&amp;#x27;)
            return (0);
        i++;
    }
    return (*--s1 - *--s2);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/b0/b0/b0b0a57f-8103-4532-af4f-3047d7df013c.png&quot; width=&quot;1086&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/28/8b/288b2efe-9496-4897-a7bb-dab8194dbee0.png&quot; width=&quot;1190&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex02 &lt;/strong&gt;(ft_strcpy)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Reproduce the behavior of the function strcat (man strcat). • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strcat(char *dest, char *src);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Воспроизведите поведение функции strcat (man strcat). • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strcat(char *dest, char *src);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/77/8a/778aa9f6-0a67-4245-86cc-172a1f8fc46e.png&quot; width=&quot;604&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strcat(char *dest, char *src)
{
    int    i;
    int    dest_size;

    i = 0;
    dest_size = 0;
    while (dest[dest_size])
        dest_size++;
    while (src[i])
    {
        dest[dest_size] = src[i];
        dest_size++;
        i++;
    }
    dest[dest_size] = &amp;#x27;\0&amp;#x27;;
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strcat(char *dest, char *src)
{
    char    *ptr;

    ptr = dest;
    while (*dest)
        dest++;
    while (*src)
        *dest++ = *src++;
    *dest = &amp;#x27;\0&amp;#x27;;
    return (ptr);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strcat(char *dest, char *src)
{
    int i;
    int lenght;

    i = 0;
    lenght = 0;
    while (dest[i] != &amp;#x27;\0&amp;#x27;)
    {
        lenght++;
        i++;
    }
    i = 0;
    while (src[i] != &amp;#x27;\0&amp;#x27;)
    {
        dest[lenght + i] = src[i];
        i++;
    }
    dest[lenght + i] = &amp;#x27;\0&amp;#x27;;
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/03/0a/030a4a11-aaf9-4005-899a-f17833af068d.png&quot; width=&quot;1191&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d1/db/d1dbd202-57ca-4d62-94e5-fd9a429f7135.png&quot; width=&quot;1038&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex03 &lt;/strong&gt;(ft_strcpy)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Reproduce the behavior of the function strncat (man strncat). • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strncat(char *dest, char *src, unsigned int nb);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Воспроизведите поведение функции strncat (man strncat). • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strncat(char *dest, char *src, unsigned int nb);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/0f/fc/0ffc8d7e-6830-4963-ac87-07ace6b41d68.png&quot; width=&quot;612&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strncat(char *dest, char *src, int nb)
{
    int    i;
    int    dest_size;

    i = 0;
    dest_size = 0;
    while (dest[dest_size] != &amp;#x27;\0&amp;#x27;)
        dest_size++;
    while (i &amp;lt; nb &amp;amp;&amp;amp; src[i] != &amp;#x27;\0&amp;#x27;)
    {
        dest[dest_size] = src[i];
        dest_size++;
        i++;
    }
    dest[dest_size] = &amp;#x27;\0&amp;#x27;;
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strncat(char *dest, char *src, int nb)
{
    int i;
    int lenght;

    i = 0;
    lenght = 0;
    while (dest[lenght] != &amp;#x27;\0&amp;#x27;)
        lenght++;
    while (i &amp;lt; nb &amp;amp;&amp;amp; src[i] != &amp;#x27;\0&amp;#x27;)
    {
        dest[lenght] = src[i];
        lenght++;
        i++;
    }
    dest[lenght] = &amp;#x27;\0&amp;#x27;;
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strncat(char *dest, char *src, int nb)
{
    int i;
    int x;

    i = 0;
    x = 0;
    while (dest[i] != &amp;#x27;\0&amp;#x27;)
        i++;
    while (src[x] != &amp;#x27;\0&amp;#x27; &amp;amp;&amp;amp; x &amp;lt; nb)
    {
        dest[i] = src[x];
        i++;
        x++;
    }
    dest[i] = &amp;#x27;\0&amp;#x27;;
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strncat(char *dest, char *src, int nb)
{
    int        i;
    int        j;

    i = 0;
    j = 0;
    while (dest[i])
        i++;
    while ((j &amp;lt; nb) &amp;amp;&amp;amp; src[j])
    {
        dest[i + j] = src[j];
        j++;
    }
    dest[i + j] = &amp;#x27;\0&amp;#x27;;
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/b5/c2/b5c261c4-65ef-4214-8678-d926ae78af8b.png&quot; width=&quot;1166&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/77/d1/77d16b50-37e2-488e-954b-aabf28680d57.png&quot; width=&quot;1136&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex04 &lt;/strong&gt;(ft_strcpy)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Reproduce the behavior of the function strstr (man strstr). • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strstr(char *str, char *to_find);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Воспроизвести поведение функции strstr (man strstr). • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strstr(char *str, char *to_find);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/86/1f/861f2a04-1408-435f-b357-890d8de30702.png&quot; width=&quot;618&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strstr(char *str, char *to_find)
{
    int    i;
    int    j;

    i = 0;
    if (to_find[0] == &amp;#x27;\0&amp;#x27;)
        return (str);
    while (str[i])
    {
        j = 0;
        while (str[i + j] == to_find[j])
        {
            if (to_find[j + 1] == &amp;#x27;\0&amp;#x27;)
                return (str + i);
            j++;
        }
        i++;
    }
    return ((void *)0);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strstr(char *str, char *to_find)
{
    char    *a;
    char    *b;

    b = to_find;
    if (*b == &amp;#x27;\0&amp;#x27;)
        return (str);
    while (*str)
    {
        if (*str == *b)
        {
            a = str;
            while (*a == *b || *b == &amp;#x27;\0&amp;#x27;)
            {
                if (*b == &amp;#x27;\0&amp;#x27;)
                    return (str);
                a++;
                b++;
            }
            b = to_find;
        }
        str++;
    }
    return (0);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strstr(char *str, char *to_find)
{
    int        i;
    int        y;
    char    *occurrence;

    occurrence = 0;
    if (to_find[0] == &amp;#x27;\0&amp;#x27;)
        return (str);
    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] == to_find[0])
        {
            occurrence = str + i;
            y = 0;
            while (str[i + y] == to_find[y])
            {
                if (to_find[y + 1] == &amp;#x27;\0&amp;#x27;)
                    return (occurrence);
                y++;
            }
            occurrence = 0;
        }
        i++;
    }
    return (0);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a7/cd/a7cdc3be-8c3b-459a-a77c-5fd0c79a97b7.png&quot; width=&quot;879&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/62/e6/62e6751d-f0ea-4207-b2e5-f03cd94b698f.png&quot; width=&quot;1164&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/c1/54/c1546127-6b7f-45dc-94d3-fa1438ea414e.png&quot; width=&quot;1138&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 03 &lt;strong&gt;ex04 &lt;/strong&gt;(ft_strcpy)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Reproduce the behavior of the function strlcat (man strlcat). • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;unsigned int ft_strlcat(char *dest, char *src, unsigned int size);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Воспроизведите поведение функции strlcat (man strlcat). • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;unsigned int ft_strlcat(char *dest, char *src, unsigned int size);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/6d/e0/6de0a309-6909-4a69-a105-dda75ee2ee74.png&quot; width=&quot;602&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;unsigned int    ft_strlcat(char *dest, char *src, unsigned int size)
{
    int                i;
    unsigned int    dest_size;

    i = 0;
    dest_size = 0;
    while (dest[dest_size])
        dest_size++;
    while (src[i] &amp;amp;&amp;amp; (dest_size &amp;lt; (size - 1)))
    {
        dest[dest_size] = src[i];
        dest_size++;
        i++;
    }
    dest[dest_size] = &amp;#x27;\0&amp;#x27;;
    return (dest_size);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;static int        ft_strlen(char *str)
{
    int        i;

    i = 0;
    while (str[i])
        i += 1;
    return (i);
}

unsigned int    ft_strlcat(char *dst, char *src, unsigned int size)
{
    int        i;
    int        len;

    i = 0;
    len = 0;
    while (dst[len] &amp;amp;&amp;amp; len &amp;lt; size)
        len++;
    i = len;
    while (src[len - i] &amp;amp;&amp;amp; len + 1 &amp;lt; size)
    {
        dst[len] = src[len - i];
        len++;
    }
    if (i &amp;lt; size)
        dst[len] = &amp;#x27;\0&amp;#x27;;
    return (i + ft_strlen(src));
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/08/f2/08f29384-e8b4-47f1-91dc-c8531ed158e7.png&quot; width=&quot;1160&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/02/c3/02c3e50f-38a5-4666-8277-0a27e72131e1.png&quot; width=&quot;1208&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>udarcs:LXj3R5xw7K1</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/LXj3R5xw7K1?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>C Piscine C 02</title><published>2021-06-13T15:27:32.052Z</published><updated>2021-06-13T16:01:25.703Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/cf/1f/cf1f3237-d0b3-4b83-bca1-cc72efaccfa6.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/a5/ea/a5eadec5-f4ca-471a-9713-48d6311a1a32.png&quot;&gt;Piscine C 02 ex00 (ft_strcpy)</summary><content type="html">
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex00 &lt;/strong&gt;(ft_strcpy)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Reproduce the behavior of the function strcpy (man strcpy). • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strcpy(char *dest, char *src);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Воспроизведите поведение функции strcpy (man strcpy). • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strcpy(char *dest, char *src);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a5/ea/a5eadec5-f4ca-471a-9713-48d6311a1a32.png&quot; width=&quot;578&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strcpy(char *dest, char *src)
{
    int    i;

    i = 0;
    while (src[i])
    {
        dest[i] = src[i];
        i++;
    }
    dest[i] = &amp;#x27;\0&amp;#x27;;
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strcpy(char *dest, char *src)
{
    char *tmp;

    tmp = dest;
    while (*src)
    {
        *dest = *src;
        dest++;
        src++;
    }
    *dest = &amp;#x27;\0&amp;#x27;;
    return (tmp);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strcpy(char *dest, char *src)
{
    char    *t;

    t = dest;
    while ((*t++ = *src++) != 0)
        ;
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strcpy(char *dest, char *src)
{
    int i;

    i = 0;
    while (src[i] != &amp;#x27;\0&amp;#x27;)
    {
        dest[i] = src[i];
        i++;
    }
    dest[i] = &amp;#x27;\0&amp;#x27;;
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/76/81/76811c80-40e6-4c98-93ba-ca22aea3cbd6.png&quot; width=&quot;994&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/fe/e1/fee197c2-5360-4e49-8b73-dc4c8afc1c7e.png&quot; width=&quot;1178&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex01 &lt;/strong&gt;(ft_strcpy)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Reproduce the behavior of the function strncpy (man strncpy). • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strncpy(char *dest, char *src, unsigned int n);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Воспроизвести поведение функции strncpy (man strncpy). • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strncpy(char *dest, char *src, unsigned int n);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/48/2a/482a59aa-4416-4164-9194-57197cf6f2bc.png&quot; width=&quot;609&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strncpy(char *dest, char *src, unsigned int n)
{
    unsigned int    i;
    int             size;

    size = 0;
    i = 0;
    while (i &amp;lt; n &amp;amp;&amp;amp; src[i])
    {
        dest[i] = src[i];
        i++;
    }
    while (i &amp;lt; n)
    {
        dest[i] = &amp;#x27;\0&amp;#x27;;
        i++;
    }
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strncpy(char *dest, char *src, unsigned int n)
{
    unsigned int i;

    i = 0;
    while ((src[i] != &amp;#x27;\0&amp;#x27;) &amp;amp;&amp;amp; (i &amp;lt; n))
    {
        dest[i] = src[i];
        i++;
    }
    while ((dest[i] != &amp;#x27;\0&amp;#x27;) &amp;amp;&amp;amp; (i &amp;lt; n))
    {
        dest[i] = &amp;#x27;\0&amp;#x27;;
        i++;
    }
    return (dest);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/53/ac/53ac03bf-2ea6-423e-9552-5d53cdf91473.png&quot; width=&quot;1209&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a1/7d/a17dedea-5588-414a-91e8-0366dd47715b.png&quot; width=&quot;1195&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex02 &lt;/strong&gt;(ft_str_is_alpha)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that returns 1 if the string given as a parameter contains only alphabetical characters, and 0 if it contains any other character. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_alpha(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• It should return 1 if str is empty.&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая возвращает 1, если строка, заданная в качестве параметра, содержит только алфавитные символы, и 0, если она содержит еще и любой другой символ. &lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_alpha(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Функция должна возвращать 1, если str пуст(не содержит др символов).&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_alpha(char c)
{
    if ((c &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;z&amp;#x27;))
        return (1);
    if ((c &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;Z&amp;#x27;))
        return (1);
    return (0);
}

int        ft_str_is_alpha(char *str)
{
    int    i;
    
    i = 0;
    while (str[i])
    {
        if (!(iss_alpha(str[i])))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_alpha(char c)
{
    return (((c &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;z&amp;#x27;)) || ((c &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;Z&amp;#x27;)));
}

int        ft_str_is_alpha(char *str)
{
    int    i;
    
    i = 0;
    while (str[i])
    {
        if (!(iss_alpha(str[i])))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_alpha(char *str)
{
    int        i;
    char    c;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        c = str[i];
        if (!((c &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; c &amp;lt;= &amp;#x27;Z&amp;#x27;) || (c &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; c &amp;lt;= &amp;#x27;z&amp;#x27;)))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_alpha(char *str)
{
    int    i;
    int    b;

    b = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if ((str[i] &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;z&amp;#x27;) ||
            (str[i] &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;Z&amp;#x27;))
            b = 1;
        else
            return (0);
        i++;
    }
    return (b);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/93/ed/93ed6af8-cb45-498d-9efc-d3b100eebd84.png&quot; width=&quot;941&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/7a/f2/7af22648-75c1-4899-8ffc-3338864acaa7.png&quot; width=&quot;1153&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex03 &lt;/strong&gt;(ft_str_is_numeric)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that returns 1 if the string given as a parameter contains only digits, and 0 if it contains any other character. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_numeric(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• It should return 1 if str is empty.&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая возвращает 1, если строка, заданная в качестве параметра, содержит только цифры, и 0, если она содержит любой другой символ. &lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_numeric(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Функция должна возвращать 1, если str пуст(не содержит др символов).&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_num(char c)
{
    return ((c &amp;gt;= &amp;#x27;0&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;9&amp;#x27;));
}

int        ft_str_is_numeric(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if (!(iss_num(str[i])))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_num(char c)
{
    if ((c &amp;gt;= &amp;#x27;0&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;9&amp;#x27;))
        return (1);
    return (0);
}

int        ft_str_is_numeric(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if (!(iss_num(str[i])))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_numeric(char *str)
{
    int    i;
    int    b;

    b = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;9&amp;#x27;)
            b = 1;
        else
            return (0);
        i++;
    }
    return (b);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_numeric(char *str)
{
    int        i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (!(str[i] &amp;gt;= 48 &amp;amp;&amp;amp; str[i] &amp;lt;= 57))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ea/f3/eaf3e55d-7947-4296-840c-074e28ea08d2.png&quot; width=&quot;963&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/7f/31/7f31f99c-cf55-463a-899c-82185a26604e.png&quot; width=&quot;1165&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex04 &lt;/strong&gt;(ft_str_is_lowercase)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that returns 1 if the string given as a parameter contains only lowercase alphabetical characters, and 0 if it contains any other character. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_lowercase(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• It should return 1 if str is empty.&lt;/p&gt;
  &lt;p&gt;Создайте функцию, которая возвращает 1, если строка, заданная в качестве параметра, содержит только строчные буквенные символы, и 0, если она содержит любой другой символ&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_lowercase(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Функция должна возвращать 1, если строка &amp;#x27;str&amp;#x27; пуста (не содержит др символов).&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_lowercase(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if (!((str[i] &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (str[i] &amp;lt;= &amp;#x27;z&amp;#x27;)))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_lowercase(char c)
{
    if ((c &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;z&amp;#x27;))
        return (1);
    return (0);
}

int        ft_str_is_lowercase(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if (!(iss_lowercase(str[i])))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_lowercase(char *str)
{
    int    i;
    int    b;

    b = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;z&amp;#x27;)
            b = 1;
        else
            return (0);
        i++;
    }
    return (b);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_lowercase(char *str)
{
    int        i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (!(str[i] &amp;gt;= 97 &amp;amp;&amp;amp; str[i] &amp;lt;= 122))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/51/14/51142291-2acd-485e-bd6d-170d1cac3354.png&quot; width=&quot;1193&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex05&lt;/strong&gt; (ft_str_is_uppercase)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that returns 1 if the string given as a parameter contains only uppercase alphabetical characters, and 0 if it contains any other character. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_uppercase(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• It should return 1 if str is empty.&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая возвращает 1, если строка, заданная в качестве параметра, содержит только заглавные буквенные символы, и 0, если она содержит любой другой символ.&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_uppercase(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Функция должна возвращать 1, если str пуст(не содержит др символов).&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_uppercase(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if (!((str[i] &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (str[i] &amp;lt;= &amp;#x27;Z&amp;#x27;)))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_uppercase(char c)
{
    if ((c &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;Z&amp;#x27;))
        return (1);
    return (0);
}

int    ft_str_is_uppercase(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if (!(iss_uppercase(str[i])))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_uppercase(char *str)
{
    int    i;
    int    b;

    b = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;Z&amp;#x27;)
            b = 1;
        else
            return (0);
        i++;
    }
    return (b);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_uppercase(char *str)
{
    int        i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (!(str[i] &amp;gt;= 65 &amp;amp;&amp;amp; str[i] &amp;lt;= 90))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/70/3e/703ef888-774a-4021-bf42-352bc07ee5bd.png&quot; width=&quot;1173&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex06&lt;/strong&gt; (ft_str_is_printable)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that returns 1 if the string given as a parameter contains only printable characters, and 0 if it contains any other character. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_printable(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• It should return 1 if str is empty&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая возвращает 1, если строка, заданная в качестве параметра, содержит только печатные символы, и 0, если она содержит любой другой символ.&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_str_is_printable(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Функция должна возвращать 1, если строка str пуста(не содержит др символов).&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_printable(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if (!((str[i] &amp;gt;= 32) &amp;amp;&amp;amp; (str[i] &amp;lt;= 126)))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_printable(char c)
{
    return ((c &amp;gt;= 32) &amp;amp;&amp;amp; (c &amp;lt;= 126));
}

int        ft_str_is_printable(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if (!(iss_printable(str[i])))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_printable(char *str)
{
    int    i;
    int    b;

    b = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] &amp;gt;= &amp;#x27; &amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;~&amp;#x27;)
            b = 1;
        else
            return (0);
        i++;
    }
    return (b);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_str_is_printable(char *str)
{
    int        i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (!(str[i] &amp;gt;= 32 &amp;amp;&amp;amp; str[i] &amp;lt;= 126))
            return (0);
        i++;
    }
    return (1);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d1/bc/d1bc0f13-8e2f-4416-ad50-71678ca33349.png&quot; width=&quot;882&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ba/94/ba942e6d-9d99-4a0c-89a7-813cee8603c3.png&quot; width=&quot;1146&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex07 &lt;/strong&gt;(ft_strupcase)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that transforms every letter to uppercase. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strupcase(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• It should return str&lt;/p&gt;
  &lt;p&gt;• Создать функцию, которая преобразует каждую букву каждого слова в верхний регистр. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strupcase(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;•Функция должна вернуть строку.&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strupcase(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if ((str[i] &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (str[i] &amp;lt;= &amp;#x27;z&amp;#x27;))
            str[i] = ((str[i] - &amp;#x27;a&amp;#x27;) + &amp;#x27;A&amp;#x27;);
        i++;
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char *ft_strupcase(char *str)
{
    int i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;z&amp;#x27;)
            str[i] = ((str[i] - &amp;#x27;a&amp;#x27;) + &amp;#x27;A&amp;#x27;);
        i++;
    }
    return (str);
}
&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strupcase(char *str)
{
    int i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] &amp;gt;= 97 &amp;amp;&amp;amp; str[i] &amp;lt;= 122)
            str[i] = str[i] - 32;
        i++;
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_struppcase(char *str)
{
    char *p;

    p = str;
    while (*p)
    {
        if ((*p &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (*p &amp;lt;= &amp;#x27;z&amp;#x27;))
            *p = ((*p - &amp;#x27;a&amp;#x27;) + &amp;#x27;A&amp;#x27;);
        p++;
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/3c/9b/3c9b271b-2e1d-4dd0-be92-cadd0ecb6535.png&quot; width=&quot;1187&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f5/c8/f5c81c06-fafb-407e-bdbe-6bcfacf5c478.png&quot; width=&quot;1169&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex08 &lt;/strong&gt;(ft_strupcase)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that transforms every letter to lowercase. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strlowcase(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• It should return str.&lt;/p&gt;
  &lt;p&gt;• Создать функцию, которая преобразует каждую букву каждого слова в нижний регистр. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strlowcase(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Функция должна вернуть строку.&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strlowcase(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        if ((str[i] &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (str[i] &amp;lt;= &amp;#x27;Z&amp;#x27;))
            str[i] = str[i] + 32;
        i++;
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char *ft_strlowcase(char *str)
{
    int i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;Z&amp;#x27;)
            str[i] = str[i] - &amp;#x27;A&amp;#x27; + &amp;#x27;a&amp;#x27;;
        i++;
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strlowcase(char *str)
{
    int i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] &amp;gt;= 65 &amp;amp;&amp;amp; str[i] &amp;lt;= 90)
            str[i] = str[i] + 32;
        i++;
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/0c/de/0cdeefe7-58a2-4a2a-bc4a-a6b8ac2fd6ab.png&quot; width=&quot;1210&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex09 &lt;/strong&gt;(ft_strupcase)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that capitalizes the first letter of each word and transforms all other letters to lowercase. • A word is a string of alphanumeric characters. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strcapitalize(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• It should return str. • For example:&lt;/p&gt;
  &lt;p&gt;salut, comment tu vas ? 42mots quarante-deux; cinquante+et+un&lt;/p&gt;
  &lt;p&gt;• Becomes:&lt;/p&gt;
  &lt;p&gt;Salut, Comment Tu Vas ? 42mots Quarante-Deux; Cinquante+Et+U&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая делает первую букву каждого слова заглавной и преобразует все остальные буквы в строчные. • Слово - это строка буквенно-цифровых символов. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;char *ft_strcapitalize(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Функция должна вернуть строку.&lt;/p&gt;
  &lt;p&gt;• Например это:&lt;/p&gt;
  &lt;p&gt;salut, comment tu vas ? 42mots quarante-deux; cinquante+et+un&lt;/p&gt;
  &lt;p&gt;• Становится этим:&lt;/p&gt;
  &lt;p&gt;Salut, Comment Tu Vas ? 42mots Quarante-Deux; Cinquante+Et+U&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_alpha(char c)
{
    if ((c &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;z&amp;#x27;))
        return (1);
    if ((c &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;Z&amp;#x27;))
        return (1);
    if ((c &amp;gt;= &amp;#x27;0&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;9&amp;#x27;))
        return (1);
    return (0);
}

int        is_maj(char c)
{
    return ((c &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;Z&amp;#x27;));
}

char    is_min(char c)
{
    return ((c &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;z&amp;#x27;));
}

char    *ft_strcapitalize(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        while (str[i] &amp;amp;&amp;amp; !iss_alpha(str[i]))
            i++;
        if (str[i] &amp;amp;&amp;amp; is_min(str[i]))
            str[i] = ((str[i] - &amp;#x27;a&amp;#x27;) + &amp;#x27;A&amp;#x27;);
        i++;
        while (str[i] &amp;amp;&amp;amp; iss_alpha(str[i]))
        {
            if (is_maj(str[i]))
                str[i] = ((str[i] - &amp;#x27;A&amp;#x27;) + &amp;#x27;a&amp;#x27;);
            i++;
        }
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_alpha(char c)
{
    if ((c &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;z&amp;#x27;))
        return (1);
    if ((c &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;Z&amp;#x27;))
        return (1);
    if ((c &amp;gt;= &amp;#x27;0&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;9&amp;#x27;))
        return (1);
    return (0);
}

char    *ft_strcapitalize(char *str)
{
    int    i;

    i = 0;
    while (str[i])
    {
        while (str[i] &amp;amp;&amp;amp; !iss_alpha(str[i]))
            i++;
        if (str[i] &amp;amp;&amp;amp; ((str[i] &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (str[i] &amp;lt;= &amp;#x27;z&amp;#x27;)))
            str[i] = ((str[i] - &amp;#x27;a&amp;#x27;) + &amp;#x27;A&amp;#x27;);
        i++;
        while (str[i] &amp;amp;&amp;amp; iss_alpha(str[i]))
        {
            if ((str[i] &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (str[i] &amp;lt;= &amp;#x27;Z&amp;#x27;))
                str[i] = ((str[i] - &amp;#x27;A&amp;#x27;) + &amp;#x27;a&amp;#x27;);
            i++;
        }
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        iss_alpha(char c)
{
    if ((c &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;z&amp;#x27;))
        return (1);
    if ((c &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;Z&amp;#x27;))
        return (1);
    if ((c &amp;gt;= &amp;#x27;0&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;9&amp;#x27;))
        return (1);
    return (0);
}

int        is_maj(char c)
{
    return ((c &amp;gt;= &amp;#x27;A&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;Z&amp;#x27;));
}

char    is_min(char c)
{
    return ((c &amp;gt;= &amp;#x27;a&amp;#x27;) &amp;amp;&amp;amp; (c &amp;lt;= &amp;#x27;z&amp;#x27;));
}

char    *ft_strcapitalize(char *str)
{
    int    i;
    int    word_new;

    i = 0;
    word_new = 1;
    while (str[i])
    {
        if (is_min(str[i]) &amp;amp;&amp;amp; (word_new == 1))
            str[i] = ((str[i] - &amp;#x27;a&amp;#x27;) + &amp;#x27;A&amp;#x27;);
        else if (is_maj(str[i]) &amp;amp;&amp;amp; (word_new == 0))
            str[i] = ((str[i] - &amp;#x27;A&amp;#x27;) + &amp;#x27;a&amp;#x27;);
        if (iss_alpha(str[i]))
            word_new = 0;
        else
            word_new = 1;
        i++;
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *jp_strlowcase(char *str)
{
    int    i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if (str[i] &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;Z&amp;#x27;)
            str[i] = ((str[i] - &amp;#x27;A&amp;#x27;) + &amp;#x27;a&amp;#x27;);
        i++;
    }
    return (str);
}

char    *ft_strcapitalize(char *str)
{
    int    i;

    i = 1;
    jp_strlowcase(str);
    if (str[0] &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; str[0] &amp;lt;= &amp;#x27;z&amp;#x27;)
        str[0] = ((str[0] - &amp;#x27;a&amp;#x27;) + &amp;#x27;A&amp;#x27;);
    while (str[i])
    {
        if ((str[i] &amp;gt;= &amp;#x27; &amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;/&amp;#x27;) ||
            (str[i] &amp;gt;= &amp;#x27;:&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;@&amp;#x27;))
            if (str[i + 1] &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; str[i + 1] &amp;lt;= &amp;#x27;z&amp;#x27;)
                str[i + 1] = ((str[i + 1] - &amp;#x27;a&amp;#x27;) + &amp;#x27;A&amp;#x27;);
        i++;
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Решение 5&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;char    *ft_strcapitalize(char *str)
{
    int        i;
    char    c;
    int        space;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        space = 1;
        if (i == 0)
            c = &amp;#x27;;&amp;#x27;;
        else
            c = str[i - 1];
        if ((c &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; c &amp;lt;= &amp;#x27;Z&amp;#x27;) || (c &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; c &amp;lt;= &amp;#x27;z&amp;#x27;))
            space = 0;
        if (c &amp;gt;= &amp;#x27;0&amp;#x27; &amp;amp;&amp;amp; c &amp;lt;= &amp;#x27;9&amp;#x27;)
            space = 0;
        if (space == 1 &amp;amp;&amp;amp; str[i] &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;z&amp;#x27;)
            str[i] = str[i] - 32;
        if (space == 0 &amp;amp;&amp;amp; str[i] &amp;gt;= &amp;#x27;A&amp;#x27; &amp;amp;&amp;amp; str[i] &amp;lt;= &amp;#x27;Z&amp;#x27;)
            str[i] = str[i] + 32;
        i++;
    }
    return (str);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/aa/a4/aaa416c5-55cc-4275-8449-c65c3c029a08.png&quot; width=&quot;1147&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/fe/2f/fe2fe1dc-5aea-4952-aa0e-8a5669f4482c.png&quot; width=&quot;1211&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 02 &lt;strong&gt;ex10&lt;/strong&gt; (ft_strlcpy)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Reproduce the behavior of the function strlcpy (man strlcpy). • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;unsigned int ft_strlcpy(char *dest, char *src, unsigned int size);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Воспроизведите поведение функции strlcpy (man strlcpy).• Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;unsigned int ft_strlcpy(char *dest, char *src, unsigned int size);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8f/36/8f36e045-7ab8-4859-9c2b-27caaf742941.png&quot; width=&quot;558&quot; /&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;unsigned int    ft_strlcpy(char *dest, char *src, unsigned int size)
{
    unsigned int    i;

    i = 0;
    size -= 1;
    while (src[i] &amp;amp;&amp;amp; (i &amp;lt; size))
    {
        dest[i] = src[i];
        i++;
    }
    dest[i] = &amp;#x27;\0&amp;#x27;;
    return (i);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d3/d8/d3d8fa23-de0c-4809-bb4a-da3d1750cf0a.png&quot; width=&quot;1191&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>udarcs:Yz117IvnPQB</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/Yz117IvnPQB?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>Piscine C 01</title><published>2021-06-13T14:15:37.279Z</published><updated>2021-06-13T14:58:37.465Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/74/af/74af8df3-31b8-4e0a-9ecc-557589e3e62c.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/19/ce/19ce0e88-3ff6-47d1-8b15-e99155046116.png&quot;&gt;Piscine C 01 ex00 (ft_ft)</summary><content type="html">
  &lt;p&gt;Piscine C 01 &lt;strong&gt;ex00 &lt;/strong&gt;(ft_ft)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that takes a pointer to int as a parameter, and sets the value &amp;quot;42&amp;quot; to that int. • Here’s how it should be prototyped : &lt;code&gt;void ft_ft(int *nbr);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая принимает указатель на &amp;#x27;int&amp;#x27; в качестве параметра и задает значение &amp;quot;42&amp;quot; для этого &amp;#x27;int&amp;#x27;. • Вот как это должно быть объявлено: &lt;code&gt;void ft_ft(int *nbr);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Разрешенные функции: отсутствуют&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_ft(int *nbr)
{
    *nbr = 42;
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void        ft_ft(int *nbr)
{
    *nbr = 42;
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/19/ce/19ce0e88-3ff6-47d1-8b15-e99155046116.png&quot; width=&quot;860&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a4/55/a455fa0f-3afb-411a-81d6-1a3df34e0330.png&quot; width=&quot;1025&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 01 &lt;strong&gt;ex01 &lt;/strong&gt;(ft_ultimate_ft)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that takes a pointer to pointer to pointer to pointer to pointer to pointer to pointer to pointer to pointer to int as a parameter and sets the value &amp;quot;42&amp;quot; to that int. • Here’s how it should be prototyped : &lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_ultimate_ft(int *********nbr);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая принимает &amp;quot;указатель на указатель на указатель на указатель на указатель на указатель на указатель на указатель на указатель на указатель на указатель&amp;quot; на &amp;#x27;int&amp;#x27; в качестве параметра и устанавливает значение    &amp;quot; 42 &amp;quot; для этого &amp;#x27;int&amp;#x27;. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_ultimate_ft(int *********nbr);&lt;/code&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_ultimate_ft(int *********nbr)
{
    *********nbr = 42;
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f2/7b/f27ba76c-a671-4725-bae0-023577bd8c43.png&quot; width=&quot;922&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/dc/01/dc01ce5a-4def-4b92-937f-97fcbb0a25cd.png&quot; width=&quot;1092&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 01 &lt;strong&gt;ex02 &lt;/strong&gt;(ft_swap)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that swaps the value of two integers whose addresses are entered as parameters. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_swap(int *a, int *b);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая меняет местами значения двух целых чисел, адреса которых вводятся в качестве параметров. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;oid ft_swap(int *a, int *b);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_swap(int *a, int *b)
{
    int    temp;

    temp = *a;
    *a = *b;
    *b = temp;
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void        ft_swap(int *a, int *b)
{
    int t;

    t = *a;
    *a = *b;
    *b = t;
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_swap(int *a, int *b)
{
    int    c;

    c = *a;
    *a = *b;
    *b = c;
}
&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_swap(int *a, int *b)
{
    int        tmp;

    tmp = *a;
    *a = *b;
    *b = tmp;
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/2a/1a/2a1a18a1-6370-4ea8-af11-d5890b51df66.png&quot; width=&quot;885&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/af/7a/af7aa588-09aa-4132-b068-7cdae11f69a0.png&quot; width=&quot;1068&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 01 &lt;strong&gt;ex03 &lt;/strong&gt;(ft_div_mod)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function ft_div_mod prototyped like this :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_div_mod(int a, int b, int *div, int *mod);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• This function divides parameters a by b and stores the result in the int pointed by div. It also stores the remainder of the division of a by b in the int pointed by mod.&lt;/p&gt;
  &lt;p&gt;• Эта функция делит параметров &amp;#x27;а&amp;#x27;, &amp;#x27;b&amp;#x27; и сохраняет результат в переменной типа &amp;#x27;int&amp;#x27;, на который указывает элемент &amp;#x27;div&amp;#x27;. Он также хранит остаток деления &amp;#x27;a&amp;#x27; на &amp;#x27;b&amp;#x27; в &amp;#x27;int&amp;#x27;, указанном &amp;#x27;mod&amp;#x27;. • Вот как это должно быть объявлено.&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_div_mod(int a, int b, int *div, int *mod);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_div_mod(int a, int b, int *div, int *mod)
{
    *div = a / b;
    *mod = a % b;
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void        ft_div_mod(int a, int b, int *div, int *mod)
{
    if (b != 0)
    {
        *div = a / b;
        *mod = a % b;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_div_mod(int a, int b, int *div, int *mod)
{
    *div = a / b;
    *mod = a % b;
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_div_mod(int a, int b, int *div, int *mod)
{
    *div = a / b;
    *mod = a % b;
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/2a/eb/2aebbf2d-262f-4bbb-aa74-c7716ef1a4ce.png&quot; width=&quot;901&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/88/23/8823bae6-72af-48f0-b065-297213ccabd0.png&quot; width=&quot;939&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 01 &lt;strong&gt;ex04 &lt;/strong&gt;(ft_ultimate_div_mod)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function ft_ultimate_div_mod with the following prototype :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_ultimate_div_mod(int *a, int *b);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• This function divides parameters a by b. The result of this division is stored in the int pointed by a. The remainder of the division is stored in the int pointed by b.&lt;/p&gt;
  &lt;p&gt;• Эта функция делит параметры &amp;#x27;a&amp;#x27; на &amp;#x27;b&amp;#x27;. результат этого деления сохраняется в &amp;#x27;int&amp;#x27;, указанном &amp;#x27;a&amp;#x27;. Остаток от деления хранится в переменной типа &amp;#x27;int&amp;#x27; указывает на &amp;#x27;b&amp;#x27;. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_ultimate_div_mod(int *a, int *b);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_ultimate_div_mod(int *a, int *b)
{
    int    temp;

    temp = *a;
    *a = *a / *b;
    *b = temp % *b;
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void        ft_ultimate_div_mod(int *a, int *b)
{
    int t;

    if (b != 0)
    {
        t = *a;
        *a = *a / *b;
        *b = t % *b;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_ultimate_div_mod(int *a, int *b)
{
    int c;
    int d;

    c = *a;
    d = *b;
    *a = c / d;
    *b = c % d;
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_ultimate_div_mod(int *a, int *b)
{
    int div;
    int mod;

    div = *a / *b;
    mod = *a % *b;
    *a = div;
    *b = mod;
}&lt;/pre&gt;
  &lt;p&gt;Решение 5&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_ultimate_div_mod(int *a, int *b)
{
    int        tmp;

    tmp = *a;
    *a /= *b;
    *b = tmp % *b;
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a8/76/a876ef0d-f0ac-4195-b72b-7522bcf93a54.png&quot; width=&quot;903&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/04/f5/04f57c03-e353-4480-b400-84e0e36d964b.png&quot; width=&quot;1026&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 01 &lt;strong&gt;ex05&lt;/strong&gt; (ft_putstr)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays a string of characters on the standard output. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_putstr(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает строку символов в стандартном выводе. • Вот как это должно быть объявлено: &lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_putstr(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Разрешенные функции: write&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putstr(char *str)
{
    unsigned int    i;

    i = 0;
    while (*(str + i))
        i++;
    write(1, str, i);
}


/*        ИЛИ, тоже самое но, ТАК :
void    ft_putstr(char *str)
{
    unsigned int    i;
    i = 0;
    while (str[i])
        i++;
    write(1, str, i);
}
*/&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putstr(char *str)
{
    unsigned int    i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        ft_putchar(str[i]);
        i++;
    }
}

/*        ИЛИ, тоже самое но, ТАК :
void    ft_putstr(char *str)
{
    unsigned int i;
    i = 0;
    while (str[i])
        ft_putchar(str[i++]);
}
*/
&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putstr(char *str)
{
    while (*str != &amp;#x27;\0&amp;#x27;)
    {
        ft_putchar(*str);
        str++;
    }
}

/*        ИЛИ, тоже самое но, ТАК :
void    ft_putstr(char *str)
{
    while (*str)
        ft_putchar(*str++);
}
*/
&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/1b/1a/1b1ae20a-c55e-4bf8-af4f-904cb0300b63.png&quot; width=&quot;1194&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 01 &lt;strong&gt;ex06&lt;/strong&gt; (ft_strlen)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that counts and returns the number of characters in a string. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_strlen(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая подсчитывает и возвращает количество символов в строке. • Вот как это должно быть обьявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;int ft_strlen(char *str);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strlen(char *str)
{
    int n;

    n = 0;
    while (str[n] != &amp;#x27;\0&amp;#x27;)
    {
        n++;
    }
    return (n);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strlen(char *str)
{
    int n;

    n = 0;
    while (1)
    {
        if (str[n] == &amp;#x27;\0&amp;#x27;)
        {
            return (n);
        }
        n++;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strlen(char *str)
{
    int count;

    count = 0;
    while (*str != &amp;#x27;\0&amp;#x27;)
    {
        count++;
        str++;
    }
    return (count);
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strlen(char *str)
{
    int        i;

    i = 0;
    while (str[i])
        i += 1;
    return (i);
}&lt;/pre&gt;
  &lt;p&gt;Решение 5&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strlen(char *str)
{
    int    i;

    i = 0;
    while (str[i])
        i++;
    return (i);
}&lt;/pre&gt;
  &lt;p&gt;Решение 6&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;int        ft_strlen(char *str)
{
    int l;

    l = 0;
    while (*str++ != &amp;#x27;\0&amp;#x27;)
        l++;
    return (l);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ce/f6/cef63dc1-0e5d-4382-b30b-308bc9df3abc.png&quot; width=&quot;1010&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ec/bb/ecbb9c2b-a498-4d77-b907-56edb0f2251c.png&quot; width=&quot;1196&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 01 &lt;strong&gt;ex07&lt;/strong&gt; (ft_rev_int_tab)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function which reverses a given array of integer (first goes last, etc). • The arguments are a pointer to int and the number of ints in the array. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_rev_int_tab(int *tab, int size);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая переворачивает данный массив целых чисел (первый элемент массива станет последним, и т.д.). • Аргументами будут указатель на адрес первого элемента массива целых чисел типа &amp;#x27;int&amp;#x27; и количество целых чисел в этом массиве. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_rev_int_tab(int *tab, int size);&lt;/code&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f0/a4/f0a42080-8f62-4a43-8561-d536c13ffb09.png&quot; width=&quot;485&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_rev_int_tab(int *tab, int size)
{
    int        i;
    char    temp;

    i = -1;
    while (++i &amp;lt; --size)
    {
        temp = tab[i];
        tab[i] = tab[size];
        tab[size] = temp;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_rev_int_tab(int *tab, int size)
{
    int        counter;
    char    temp;

    counter = 0;
    while (counter &amp;lt; size - 1)
    {
        temp = tab[size];
        tab[size] = tab[counter];
        tab[counter] = temp;
        counter++;
        size--;
    }
}
&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/aa/0a/aa0abff9-b4a1-4a18-a38b-5b6d799b2153.png&quot; width=&quot;969&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/1e/3e/1e3e0f5e-50d6-474e-8c0d-c20e23d7c2e9.png&quot; width=&quot;1194&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 01 &lt;strong&gt;ex08&lt;/strong&gt; (ft_sort_int_tab)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function which sorts an array of integers by ascending order. • The arguments are a pointer to int and the number of ints in the array. • Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_sort_int_tab(int *tab, int size);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая сортирует массив (таблицу) целых чисел по возрастанию. • Аргументами являются указатель на int и число ints в поле массив. • Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_sort_int_tab(int *tab, int size);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_sort_int_tab(int *tab, int size)
{
    int i;
    int j;
    int temp;

    i = 0;
    while (i &amp;lt; size - 1)
    {
        j = 0;
        while (j &amp;lt; size - i - 1)
        {
            if (tab[j] &amp;gt; tab[j + 1])
            {
                temp = tab[j];
                tab[j] = tab[j + 1];
                tab[j + 1] = temp;
            }
            j++;
        }
        i++;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_sort_int_tab(int *tab, int size)
{
    int i;
    int temp;

    i = 0;
    while (i &amp;lt; size - 1)
    {
        if (tab[i] &amp;gt; tab[i + 1])
        {
            temp = tab[i];
            tab[i] = tab[i + 1];
            tab[i + 1] = temp;
            i = -1;
        }
        i++;
        
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_sort_int_tab(int *tab, int size)
{
    int    temp;
    int i;
    int j;

    i = 0;
    while (i &amp;lt; size - 1)
    {
        j = i;
        while (j &amp;lt; size)
        {
            if (tab[i] &amp;gt; tab[j])
            {
                temp = tab[i];
                tab[i] = tab[j];
                tab[j] = temp;
            }
            j++;
        }
        i++;
    }
}
&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/22/c9/22c96498-055c-4f6c-9e2d-7be9349feddb.png&quot; width=&quot;936&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/83/f2/83f24546-9ed7-4ae1-abf9-64c9f9b16f6c.png&quot; width=&quot;974&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/5b/b9/5bb912d5-e552-4fef-98bd-878c902492d3.png&quot; width=&quot;1029&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>udarcs:Wi-zMI77GHF</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/Wi-zMI77GHF?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>Piscine C 00</title><published>2021-06-13T12:50:25.671Z</published><updated>2021-06-16T16:38:29.940Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/e4/1d/e41d9a21-ab41-4881-aa14-ca02187991b5.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/f9/6b/f96b1401-236a-4d84-a5a5-70c9072ee9e3.png&quot;&gt;Piscine C 00 ex00 (ft_putchar)</summary><content type="html">
  &lt;p&gt;Piscine C 00 &lt;strong&gt;ex00 &lt;/strong&gt;(ft_putchar)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Write a function that displays the character passed as a parameter. &lt;/p&gt;
  &lt;p&gt;• It will be prototyped as follows : &lt;code&gt;void ft_putchar(char c);&lt;/code&gt; &lt;/p&gt;
  &lt;p&gt;• To display the character, you must use the texttt write function as follows. &lt;code&gt;write(1, &amp;amp;c, 1);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Напишите функцию, которая отображает символ, переданный в качестве параметра. &lt;/p&gt;
  &lt;p&gt;• Функция должна быть объявлена следующим образом: &lt;code&gt;void ft_putchar(char c);&lt;/code&gt; &lt;/p&gt;
  &lt;p&gt;• Чтобы отобразить символ, вы должны использовать в ней функцию записи текста в стандартный поток вывода, вот так: &lt;code&gt;write(1, &amp;amp;c, 1);&lt;/code&gt; Скомпилируй файл тест. В нем можно увидеть как работает эта функция вживую.&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void ft_putchar(char c)
{
  write(1, &amp;amp;c, 1);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f9/6b/f96b1401-236a-4d84-a5a5-70c9072ee9e3.png&quot; width=&quot;1088&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/37/42/3742d7fa-e618-4ae0-b9d4-5f4a441a76be.png&quot; width=&quot;802&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/1d/d8/1dd843af-a1e2-4d16-b7ee-495fac47b184.png&quot; width=&quot;1184&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 00 &lt;strong&gt;ex01 &lt;/strong&gt;(ft_print_alphabet)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays the alphabet in lowercase, on a single line, by ascending order, starting from the letter ’a’. • Here’s how it should be prototyped : &lt;code&gt;void ft_print_alphabet(void);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает алфавит в нижнем регистре, на одной строке, в порядке возрастания, начиная с символа «а». • Функция должна быть объявлена следующим образом: &lt;code&gt;void ft_print_alphabet(void);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_print_alphabet(void)
{
    char    letter;

    letter = &amp;#x27;a&amp;#x27;;
    while (letter &amp;lt;= &amp;#x27;z&amp;#x27;)
    {
        ft_putchar(letter);
        letter++;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_print_alphabet(void)
{
    int        i;
    char    c;

    i = 97;
    while (i &amp;lt;= 122)
    {
        c = i;
        ft_putchar(c);
        i++;
    }
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/cc/a1/cca17418-43f8-4159-a0ee-b7c06bcc2e18.png&quot; width=&quot;817&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/56/73/5673f7e3-c314-4e12-997d-34105d41a70f.png&quot; width=&quot;1137&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 00 &lt;strong&gt;ex02 &lt;/strong&gt;(ft_print_reverse_alphabet)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays the alphabet in lowercase, on a single line, by descending order, starting from the letter ’z’. • Here’s how it should be prototyped : &lt;code&gt;void ft_print_reverse_alphabet(void);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает алфавит в нижнем регистре на одной строке в порядке убывания, начиная с символа «z». • Функция должна быть объявлена следующим образом: &lt;code&gt;void ft_print_reverse_alphabet(void);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_print_reverse_alphabet(void)
{
    char    letter;

    letter = &amp;#x27;z&amp;#x27;;
    while (letter &amp;gt;= &amp;#x27;a&amp;#x27;)
    {
        ft_putchar(letter);
        letter--;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_print_reverse_alphabet(void)
{
    int        i;
    char    c;

    i = 122;
    while (i &amp;gt;= 97)
    {
        c = i;
        ft_putchar(c);
        i--;
    }
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/52/32/52328fbc-7168-4cc7-9675-998d4f34bd42.png&quot; width=&quot;812&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/dc/56/dc565014-a20e-4aa7-96a0-a108cb87edcf.png&quot; width=&quot;914&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 00 &lt;strong&gt;ex03 &lt;/strong&gt;(ft_print_numbers)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays all digits, on a single line, by ascending order. • Here’s how it should be prototyped : &lt;code&gt;void ft_print_numbers(void);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает все цифры на одной строке в порядке возрастания. • Функция должна быть объявлена следующим образом: &lt;code&gt;void ft_print_numbers(void);&lt;/code&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_print_numbers(void)
{
    char    number;

    number = &amp;#x27;0&amp;#x27;;
    while (number &amp;lt;= &amp;#x27;9&amp;#x27;)
    {
        ft_putchar(number);
        number++;
    }
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/2f/dc/2fdc4808-819c-4f91-a6fa-334baa6be5d1.png&quot; width=&quot;1031&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 00 &lt;strong&gt;ex04 &lt;/strong&gt;(ft_is_negative)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays ’N’ or ’P’ depending on the integer’s sign entered as a parameter. If n is negative, display ’N’. If n is positive or null, display ’P’. • Here’s how it should be prototyped : &lt;code&gt;void ft_is_negative(int n);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает символы «N» или «P» в зависимости от целочисленного знака, введенного в качестве параметра. Если n отрицательно, выведите символ «N». Если &amp;#x27;n&amp;#x27; является положительным или нулевым, выведите символ «P». •  Функция должна быть объявлена следующим образом: &lt;code&gt;void ft_is_negative(int n);&lt;/code&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_is_negative(int n)
{
    if (n &amp;lt; 0)
         ft_putchar(&amp;#x27;N&amp;#x27;);
    else
         ft_putchar(&amp;#x27;P&amp;#x27;);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/2e/c6/2ec67f7a-9be0-4a71-8a38-bd75cebbdacb.png&quot; width=&quot;953&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 00 &lt;strong&gt;ex05 &lt;/strong&gt;(ft_print_comb)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays all different combinations of three different digits in ascending order, listed by ascending order - yes, repetition is voluntary. • Here’s the intended output : &lt;/p&gt;
  &lt;p&gt;&lt;code&gt;$&amp;gt;./a.out | cat -e &lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;012, 013, 014, 015, 016, 017, 018, 019, 023, ..., 789$&amp;gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• 987 isn’t there because 789 already is. • 999 isn’t there because the digit 9 is present more than once. • Here’s how it should be prototyped&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_print_comb(void);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает все различные комбинации трех разных цифр в порядке возрастания, перечисленных в порядке возрастания  - да,повторение является добровольным. • Вот предполагаемый результат:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;$&amp;gt;./a.out | cat -e &lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;012, 013, 014, 015, 016, 017, 018, 019, 023, ..., 789$&amp;gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• 987 не должно быть, потому что 789 уже есть. • 999 тоже, потому что цифра 9 присутствует более одного раза. • Функция должна быть объявлена следующим образом: &lt;code&gt;void ft_print_comb(void);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_commas(void)
{
    ft_putchar(&amp;#x27;,&amp;#x27;);
    ft_putchar(&amp;#x27; &amp;#x27;);
}

void    ft_print_comb(void)
{
    int num[3];

    num[0] = &amp;#x27;0&amp;#x27;;
    while (num[0] &amp;lt;= &amp;#x27;9&amp;#x27;)
    {
        num[1] = &amp;#x27;0&amp;#x27;;
        while (num[1] &amp;lt;= &amp;#x27;9&amp;#x27;)
        {
            num[2] = &amp;#x27;0&amp;#x27;;
            while (num[2] &amp;lt;= &amp;#x27;9&amp;#x27;)
            {
                if (num[0] &amp;lt; num[1] &amp;amp;&amp;amp; num[1] &amp;lt; num[2])
                {
                    ft_putchar(num[0]);
                    ft_putchar(num[1]);
                    ft_putchar(num[2]);
                    if(!(num[0] == &amp;#x27;7&amp;#x27; &amp;amp;&amp;amp; num[1] == &amp;#x27;8&amp;#x27; &amp;amp;&amp;amp; num[2] == &amp;#x27;9&amp;#x27;))
                        ft_commas();
                }
                num[2]++;
            }
            num[1]++;
        }
        num[0]++;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ad_print_numbers(char c, char d, char u)
{
    ft_putchar(c);
    ft_putchar(d);
    ft_putchar(u);
}

void    ad_print_space(void)
{
    ft_putchar(&amp;#x27;,&amp;#x27;);
    ft_putchar(&amp;#x27; &amp;#x27;);
}

void    ft_print_comb(void)
{
    char c;
    char d;
    char u;

    c = &amp;#x27;0&amp;#x27;;
    while (c &amp;lt;= &amp;#x27;9&amp;#x27;)
    {
        d = c + 1;
        while (d &amp;lt;= &amp;#x27;9&amp;#x27;)
        {
            u = d + 1;
            while (u &amp;lt;= &amp;#x27;9&amp;#x27;)
            {
                ad_print_numbers(c, d, u);
                if (!(c == &amp;#x27;7&amp;#x27; &amp;amp;&amp;amp; d == &amp;#x27;8&amp;#x27; &amp;amp;&amp;amp; u == &amp;#x27;9&amp;#x27;))
                {
                    ad_print_space();
                }
                u++;
            }
            d++;
        }
        c++;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_print_comb(void)
{
    char    nbr1;
    char    nbr2;
    char    nbr3;

    nbr1 = &amp;#x27;0&amp;#x27; - 1;
    while (++nbr1 &amp;lt;= &amp;#x27;9&amp;#x27;)
    {
        nbr2 = nbr1;
        while (++nbr2 &amp;lt;= &amp;#x27;9&amp;#x27;)
        {
            nbr3 = nbr2;
            while (++nbr3 &amp;lt;= &amp;#x27;9&amp;#x27;)
            {
                if (nbr1 != &amp;#x27;0&amp;#x27; || nbr2 != &amp;#x27;1&amp;#x27; || nbr3 != &amp;#x27;2&amp;#x27;)
                    ft_putchar(&amp;#x27;,&amp;#x27;);
                if (nbr1 != &amp;#x27;0&amp;#x27; || nbr2 != &amp;#x27;1&amp;#x27; || nbr3 != &amp;#x27;2&amp;#x27;)
                    ft_putchar(&amp;#x27; &amp;#x27;);
                ft_putchar(nbr1);
                ft_putchar(nbr2);
                ft_putchar(nbr3);
            }
        }
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_print_comb(void)
{
    int    numbers[3] = {&amp;#x27;0&amp;#x27;, &amp;#x27;0&amp;#x27;, &amp;#x27;0&amp;#x27;};

    while (numbers[0] &amp;lt;= &amp;#x27;9&amp;#x27;)
    {
        if ((numbers[0] &amp;lt; numbers[1]) &amp;amp;&amp;amp; (numbers[1] &amp;lt; numbers[2]))
        {
            ft_putchar(numbers[0]);
            ft_putchar(numbers[1]);
            ft_putchar(numbers[2]);
            if (numbers[0] != &amp;#x27;7&amp;#x27;)
                ft_putchar(&amp;#x27;,&amp;#x27;);
            if (numbers[0] != &amp;#x27;7&amp;#x27;)
                ft_putchar(&amp;#x27; &amp;#x27;);
        }
        if (numbers[2]++ &amp;gt;= &amp;#x27;9&amp;#x27;)
        {
            numbers[2] = &amp;#x27;0&amp;#x27;;
            numbers[1]++;
        }
        if (numbers[1] == &amp;#x27;:&amp;#x27;)
        {
            numbers[1] = &amp;#x27;0&amp;#x27;;
            numbers[0]++;
        }
    }
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d5/40/d540c01a-fced-4a90-a3e1-a0277f2aa81b.png&quot; width=&quot;1027&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8c/53/8c53092e-2ba1-43f8-b89d-cdd8d8627505.png&quot; width=&quot;734&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 00 &lt;strong&gt;ex06&lt;/strong&gt; (ft_print_comb2)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays all different combination of two digits between 00 and 99, listed by ascending order. • Here’s the expected output :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;$&amp;gt;./a.out | cat -e &lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;00 01, 00 02, 00 03, 00 04, 00 05, ..., 00 99, 01 02, ..., 97 99, 98 99$&amp;gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Here’s how it should be prototyped :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_print_comb2(void);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает все различные комбинации двух цифр от 00 до 99, перечисленные в порядке возрастания. • Пример вывода:&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;$&amp;gt;./a.out | cat -e &lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;00 01, 00 02, 00 03, 00 04, 00 05, ..., 00 99, 01 02, ..., 97 99, 98 99$&amp;gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Скомпилируй файл тест. В нем можно увидеть как работает эта функция вживую&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;void ft_print_comb2(void);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_print_comb2(void)
{
    int        i;
    int        k;

    i = 0;
    k = 0;
    while (i &amp;lt; 100)
    {
        k = i + 1;
        while (k &amp;lt; 100)
        {
            ft_putchar(i / 10 + &amp;#x27;0&amp;#x27;);
            ft_putchar(i % 10 + &amp;#x27;0&amp;#x27;);
            ft_putchar(&amp;#x27; &amp;#x27;);
            ft_putchar(k / 10 + &amp;#x27;0&amp;#x27;);
            ft_putchar(k % 10 + &amp;#x27;0&amp;#x27;);
            if ((i / 10 != 9) || (i % 10 != 8))
            {
                ft_putchar(&amp;#x27;,&amp;#x27;);
                ft_putchar(&amp;#x27; &amp;#x27;);
            }
            k++;
        }
        i++;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_print_comb2(void)
{
    int        i;
    int        k;

    i = 0;
    k = 0;
    while (i &amp;lt; 100)
    {
        k = i + 1;
        while (k &amp;lt; 100)
        {
            ft_putchar(i / 10 + &amp;#x27;0&amp;#x27;);
            ft_putchar(i % 10 + &amp;#x27;0&amp;#x27;);
            ft_putchar(&amp;#x27; &amp;#x27;);
            ft_putchar(k / 10 + &amp;#x27;0&amp;#x27;);
            ft_putchar(k % 10 + &amp;#x27;0&amp;#x27;);
            if ((i / 10 != 9) || (i % 10 != 8))
            {
                ft_putchar(&amp;#x27;,&amp;#x27;);
                ft_putchar(&amp;#x27; &amp;#x27;);
            }
            k++;
        }
        i++;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void        ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}


void    ft_makechars(int i)
{
    ft_putchar(i / 10 + 48);
    ft_putchar(i % 10 + 48);
}

void    ft_putthem(int x, int y)
{
    if (x &amp;lt; 10)
    {
        ft_putchar(48);
        ft_putchar(x + 48);
    }
    else
        ft_makechars(x);
    ft_putchar(&amp;#x27; &amp;#x27;);
    if (y &amp;lt; 10)
    {
        ft_putchar(48);
        ft_putchar(y + 48);
    }
    else
        ft_makechars(y);
    if (!(x + y == 197))
    {
        ft_putchar(&amp;#x27;,&amp;#x27;);
        ft_putchar(&amp;#x27; &amp;#x27;);
    }
}

void    ft_print(int x, int y)
{
    if (x &amp;lt; y)
    {
        ft_putthem(x, y);
    }
}

void    ft_calc_numbers(int x[])
{
    while (x[0] &amp;lt; 100)
    {
        x[1] = 0;
        while (x[1] &amp;lt; 100)
        {
            ft_print(x[0], x[1]);
            x[1]++;
        }
        x[0]++;
    }
}

void    ft_print_comb2(void)
{
    int x[2];

    x[0] = 0;
    x[1] = 1;
    ft_calc_numbers(x);
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/b2/32/b232c999-b3ab-46df-a3ff-8ec5a3e24dd1.png&quot; width=&quot;797&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 00 &lt;strong&gt;ex07&lt;/strong&gt; (ft_putnbr)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays the number entered as a parameter. The function has to be able to display all possible values within an int type variable. • Here’s how it should be prototyped : &lt;code&gt;void ft_putnbr(int nb);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• For example:  &lt;code&gt;ft_putnbr(42)&lt;/code&gt; displays &amp;quot;42&amp;quot;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает число, введенное в качестве параметра. Функция должна иметь возможность отображать все возможные значения в переменной типа int. • Вот как это должно быть объявлено: &lt;code&gt;void ft_putnbr(int nb);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Например: &lt;code&gt;ft_putnbr(42)&lt;/code&gt; displays &amp;quot;42&amp;quot;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putnbr(int nb)
{
    int    temp;
    int    size;

    size = 1;
    if (nb &amp;lt; 0)
    {
        ft_putchar(&amp;#x27;-&amp;#x27;);
        nb = -nb;
    }
    if (nb == -2147483648)
    {
        ft_putchar(&amp;#x27;2&amp;#x27;);
        nb = 147483648;
    }
    temp = nb;
    while ((temp /= 10) &amp;gt; 0)
        size *= 10;
    temp = nb;
    while (size)
    {
        ft_putchar((char)((temp / size)) + 48);
        temp %= size;
        size /= 10;
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putnbr(int nb)
{
    char    c;

    if (nb &amp;lt; 0)
    {
        nb = -nb;
        ft_putchar(&amp;#x27;-&amp;#x27;);
    }
    if (nb &amp;lt; 10)
        ft_putchar(nb + &amp;#x27;0&amp;#x27;);
    else
    {
        ft_putnbr(nb / 10);
        ft_putnbr(nb % 10);
    }
}&lt;/pre&gt;
  &lt;p&gt;Решение 3&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_putnbr(int nb)
{
    if (nb &amp;gt;= 10)
    {
        ft_putnbr(nb / 10);
        ft_putnbr(nb % 10);
    }
    else
    {
        ft_putchar(nb + &amp;#x27;0&amp;#x27;);
    }
}
&lt;/pre&gt;
  &lt;p&gt;Решение 4&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_printnbr(int x[])
{
    int i;
    int b;

    i = 0;
    b = 0;
    while (i &amp;lt; 10)
    {
        if (b == 1)
        {
            ft_putchar(x[i] + 48);
        }
        else
        {
            if (x[i] &amp;gt; 0)
            {
                b = 1;
                ft_putchar(x[i] + 48);
            }
        }
        i++;
    }
}

void    ft_preventoverflow(void)
{
    ft_putchar(&amp;#x27;-&amp;#x27;);
    ft_putchar(&amp;#x27;2&amp;#x27;);
    ft_putchar(&amp;#x27;1&amp;#x27;);
    ft_putchar(&amp;#x27;4&amp;#x27;);
    ft_putchar(&amp;#x27;7&amp;#x27;);
    ft_putchar(&amp;#x27;4&amp;#x27;);
    ft_putchar(&amp;#x27;8&amp;#x27;);
    ft_putchar(&amp;#x27;3&amp;#x27;);
    ft_putchar(&amp;#x27;6&amp;#x27;);
    ft_putchar(&amp;#x27;4&amp;#x27;);
    ft_putchar(&amp;#x27;8&amp;#x27;);
}

void    ft_fillarray(int x[], int nb)
{
    int t;

    t = 9;
    while (t &amp;gt;= 0)
    {
        x[t] = nb % 10;
        nb /= 10;
        t--;
    }
}

void    ft_putnbr(int nb)
{
    int x[10];

    if (nb == 0)
        ft_putchar(&amp;#x27;0&amp;#x27;);
    else
    {
        if (nb == -2147483648)
            ft_preventoverflow();
        else
        {
            if (nb &amp;lt; 0)
            {
                ft_putchar(&amp;#x27;-&amp;#x27;);
                nb = nb + -2 * nb;
            }
            ft_fillarray(x, nb);
            ft_printnbr(x);
        }
    }
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/84/a5/84a5846b-e942-4b49-b1e0-25ef9502356f.png&quot; width=&quot;1083&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8b/21/8b2163d2-5d19-4c36-a9f2-df5da68d40f1.png&quot; width=&quot;1084&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Piscine C 00 &lt;strong&gt;ex08&lt;/strong&gt; (ft_putnbr)&lt;/p&gt;
  &lt;p&gt;Задание:&lt;/p&gt;
  &lt;p&gt;• Create a function that displays all different combinations of n numbers by ascending&lt;br /&gt;order.&lt;br /&gt;• n will be so that : 0 &amp;lt; n &amp;lt; 10.&lt;br /&gt;• If n = 2, here’s the expected output :&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;$&amp;gt;./a.out | cat -e&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;01, 02, 03, ..., 09, 12, ..., 79, 89$&amp;gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Here’s how it should be prototyped : &lt;code&gt;void ft_print_combn(int n);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;• Создайте функцию, которая отображает все различные комбинации из &amp;#x27;n&amp;#x27; чисел в порядке возрастания. • n должно быть таким таким, чтоб: 0 &amp;lt; n &amp;lt;10 • сли n = 2, результат должен быть таким: &lt;/p&gt;
  &lt;p&gt;&lt;code&gt;$&amp;gt;./a.out | cat -e&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;&lt;code&gt;01, 02, 03, ..., 09, 12, ..., 79, 89$&amp;gt;&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Разрешенные функции: write&lt;/p&gt;
  &lt;p&gt;• Скомпилируй файл тест : &lt;code&gt;void ft_print_combn(int n);&lt;/code&gt;&lt;/p&gt;
  &lt;p&gt;Решение 1&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

void    ft_check_print(int x[], int n)
{
    int i;
    int yes;

    i = 0;
    yes = 1;
    while (i &amp;lt; n - 1)
    {
        if (!(x[i] &amp;lt; x[i + 1]))
            yes = 0;
        i++;
    }
    if (yes == 1)
    {
        i = 0;
        while (i &amp;lt; n)
        {
            ft_putchar(x[i]);
            i++;
        }
        if (x[0] != &amp;#x27;9&amp;#x27; - n + 1)
        {
            ft_putchar(&amp;#x27;,&amp;#x27;);
            ft_putchar(&amp;#x27; &amp;#x27;);
        }
    }
}

void    create_while(int x[], int k, int n)
{
    if (k == n - 1)
    {
        x[k] = &amp;#x27;0&amp;#x27;;
        while (x[k] &amp;lt;= &amp;#x27;9&amp;#x27;)
        {
            if (n == 9 &amp;amp;&amp;amp; x[0] &amp;gt; &amp;#x27;1&amp;#x27;)
                break ;
            ft_check_print(x, n);
            x[k]++;
        }
    }
    else
    {
        x[k] = &amp;#x27;0&amp;#x27;;
        while (x[k] &amp;lt;= &amp;#x27;9&amp;#x27;)
        {
            create_while(x, k + 1, n);
            x[k]++;
        }
    }
}

void    ft_print_combn(int n)
{
    int x[n];

    create_while(x, 0, n);
}&lt;/pre&gt;
  &lt;p&gt;Решение 2&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;unistd.h&amp;gt;

void    ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

static void    ft_me_cago_en_norminette(int *arr, int col, int n)
{
    int        i;

    while (col)
    {
        while (arr[col] == (9 + col - (n - 1)) &amp;amp;&amp;amp; col &amp;gt;= 0)
            col -= 1;
        if (col &amp;lt; 0)
            break ;
        arr[col] += 1;
        i = (col + 1) - 1;
        while (i++ &amp;lt; n)
            arr[i] = arr[i - 1] + 1;
        col = n - 1;
        ft_putchar(&amp;#x27;,&amp;#x27;);
        ft_putchar(&amp;#x27; &amp;#x27;);
        i = 0;
        while (i &amp;lt; n)
            ft_putchar(arr[i++] + &amp;#x27;0&amp;#x27;);
    }
}

void        ft_print_combn(int n)
{
    int        arr[n];
    int        i;
    int        col;

    col = n - 1;
    i = -1;
    if (n &amp;lt;= 10)
    {
        while (i++ &amp;lt; n)
            arr[i] = i;
        i = 0;
        while (i &amp;lt; n)
            ft_putchar(arr[i++] + &amp;#x27;0&amp;#x27;);
        ft_me_cago_en_norminette(arr, col, n);
        ft_putchar(&amp;#x27;\n&amp;#x27;);
    }
}&lt;/pre&gt;
  &lt;p&gt;Объяснения + проверка int main&lt;/p&gt;
  &lt;p&gt;Команда для компиляции и одновременного запуска:&lt;/p&gt;
  &lt;p&gt;gcc -Wall -Werror -Wextra &lt;strong&gt;названиефайла.c&lt;/strong&gt; &amp;amp;&amp;amp; chmod +x ./a.out &amp;amp;&amp;amp; ./a.out&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/87/6a/876a3661-2aae-49ad-8598-f8c90c35840a.png&quot; width=&quot;871&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/11/56/11567440-29b4-421d-b73a-f60eb23c595d.png&quot; width=&quot;894&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>udarcs:KdaHbulspRP</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/KdaHbulspRP?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>Готовится к Школе программирования 21 и школе 42 в Москве?</title><published>2021-06-11T17:13:05.938Z</published><updated>2021-06-30T21:08:37.993Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/8f/f3/8ff3e89b-414a-4331-aae0-18f8a75ec611.png"></media:thumbnail><category term="shkola-21" label="Школа 21"></category><summary type="html">&lt;img src=&quot;https://teletype.in/files/18/2d/182d7853-819c-437d-8028-2a26ab99a53a.jpeg&quot;&gt;https://21-school.ru/</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/18/2d/182d7853-819c-437d-8028-2a26ab99a53a.jpeg&quot; width=&quot;647&quot; /&gt;
    &lt;figcaption&gt;Школа программирования 21 и 42 &lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;a href=&quot;https://21-school.ru/&quot; target=&quot;_blank&quot;&gt;https://21-school.ru/&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Вопросы по школе 21 &lt;a href=&quot;https://github.com/daniiomir/faq_for_school_21&quot; target=&quot;_blank&quot;&gt;(читать ответы здесь)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Если вы ничего не понимаете в программировании, скажу со 100% уверенностью, готовится нужно обязательно!&lt;/p&gt;
  &lt;p&gt;Начать стоит с азов.&lt;/p&gt;
  &lt;p&gt;Английский язык обязательно, иначе не поймете что от вас требуется.&lt;/p&gt;
  &lt;figure class=&quot;m_retina&quot; data-caption-align=&quot;center&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/44/c8/44c8120f-1ac4-48ee-994c-37ea90c43c30.png&quot; width=&quot;24&quot; /&gt;
    &lt;figcaption&gt;Telegram&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;Группа об учебе &lt;strong&gt;Школа 21&lt;/strong&gt; в телеграмме &lt;a href=&quot;https://t.me/joinchat/9jkjtTF7RDszZTUy&quot; target=&quot;_blank&quot;&gt;(ссылка)&lt;/a&gt; &lt;/p&gt;
  &lt;h2&gt;Работа с командной строкой &amp;quot;shell&amp;quot;&lt;/h2&gt;
  &lt;ol&gt;
    &lt;li&gt;Список заданий C Piscine Shell 00 &lt;a href=&quot;https://teletype.in/@udarcs/PaREDM3oFqb&quot; target=&quot;_blank&quot;&gt;(решать)&lt;/a&gt; &lt;a href=&quot;https://cloud.mail.ru/public/ES2j/2TeB4SVtG&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Список заданий C Piscine Shell 01 &lt;a href=&quot;https://cloud.mail.ru/public/y6sv/zg3tszJAE&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;Изучив основные команды шелл можете переходить к языку &amp;quot;C&amp;quot;&lt;/p&gt;
  &lt;h2&gt;Изучение программирования на С&lt;/h2&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/4a/56/4a56f3ba-6890-4802-a1bb-b926be4f8215.jpeg&quot; width=&quot;647&quot; /&gt;
    &lt;figcaption&gt;Изучение C&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;Перед началом прочитайте курс: &amp;quot;&lt;strong&gt;С&lt;/strong&gt;&amp;quot; из Бауманки. &lt;a href=&quot;https://cloud.mail.ru/public/of6t/qkvV8mMTm&quot; target=&quot;_blank&quot;&gt;(здесь)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Шикарная инструкция по Си &amp;quot;&lt;strong&gt;C&lt;/strong&gt;&amp;quot; &lt;a href=&quot;https://metanit.com/cpp/c/2.1.php&quot; target=&quot;_blank&quot;&gt;(здесь)&lt;/a&gt;&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;Задание C Piscine C 00 &lt;a href=&quot;https://teletype.in/@udarcs/Wi-zMI77GHF&quot; target=&quot;_blank&quot;&gt;(решать)&lt;/a&gt; &lt;a href=&quot;https://cloud.mail.ru/public/awWc/jonxtb3sh&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 01 &lt;a href=&quot;https://teletype.in/@udarcs/Yz117IvnPQB&quot; target=&quot;_blank&quot;&gt;(решать)&lt;/a&gt; &lt;a href=&quot;https://cloud.mail.ru/public/3aZY/Qjmfh1JCV&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 02 &lt;a href=&quot;https://teletype.in/@udarcs/LXj3R5xw7K1&quot; target=&quot;_blank&quot;&gt;(решать)&lt;/a&gt; &lt;a href=&quot;https://cloud.mail.ru/public/c1M1/Y6GrDeL9L&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 03 &lt;a href=&quot;https://teletype.in/@udarcs/1Vj-ZU-8r0F&quot; target=&quot;_blank&quot;&gt;(решать)&lt;/a&gt; &lt;a href=&quot;https://cloud.mail.ru/public/ko7B/AqyjA7eN7&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 04 &lt;a href=&quot;https://teletype.in/@udarcs/_gFB31wsly4&quot; target=&quot;_blank&quot;&gt;(решать)&lt;/a&gt; &lt;a href=&quot;https://cloud.mail.ru/public/oqYf/1MrqLiTYw&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 05 (решать) &lt;a href=&quot;https://cloud.mail.ru/public/1fHH/eZQSa1vDj&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 06 (решать) &lt;a href=&quot;https://cloud.mail.ru/public/jKSW/LBZRpmRrP&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 07 (решать) &lt;a href=&quot;https://cloud.mail.ru/public/iXay/q3UhXzo4A&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 08 (решать) &lt;a href=&quot;https://cloud.mail.ru/public/4j7u/3Eoz7SmUs&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 09 (решать) &lt;a href=&quot;https://cloud.mail.ru/public/4hLW/t7eUAaEV3&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 10 (решать) &lt;a href=&quot;https://cloud.mail.ru/public/yBzv/R4ndu9Kaf&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 11 (решать) &lt;a href=&quot;https://cloud.mail.ru/public/EjK7/4TwLaoioF&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 12 (решать) &lt;a href=&quot;https://cloud.mail.ru/public/Z2MT/EpfNrmDza&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Задание C Piscine C 13 (решать) &lt;a href=&quot;https://cloud.mail.ru/public/9Uhb/dhobGXQz3&quot; target=&quot;_blank&quot;&gt;(смотреть)&lt;/a&gt;&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Смотреть на git &lt;a href=&quot;https://github.com/evgenkarlson/COMPLETED_PISCINE_C&quot; target=&quot;_blank&quot;&gt;(здесь)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;Порядок уроков.&lt;/p&gt;
  &lt;p&gt;Rush 00, 01, 02, BSQ - Являются групповыми по желанию.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f6/8d/f68d7070-4fbe-4e47-8c60-3938a54e4f00.jpeg&quot; width=&quot;1161&quot; /&gt;
    &lt;figcaption&gt;Школа 21 Sberbank порядок уроков.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;На 1 день, дается 1 урок.&lt;/p&gt;
  &lt;p&gt;Примеры решений на Git &lt;a href=&quot;https://github.com/anononamemo/42_Piscine_Reloaded&quot; target=&quot;_blank&quot;&gt;https://github.com/anononamemo/42_Piscine_Reloaded&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Пишете в Google &amp;quot;git ft_putchar&amp;quot; изучаете как можно решать задачи.&lt;/p&gt;

</content></entry><entry><id>udarcs:HgDVhvqz-D1</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/HgDVhvqz-D1?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>Школа 42 в Москве</title><published>2021-06-07T21:33:19.733Z</published><updated>2021-06-30T21:09:17.035Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/cd/88/cd8823db-53fd-4974-a39e-7dfa0e3870df.png"></media:thumbnail><category term="shkola-21" label="Школа 21"></category><summary type="html">&lt;img src=&quot;https://teletype.in/files/36/b4/36b43dcc-d261-4ded-bc72-1439b3090677.png&quot;&gt;Основные команды:</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/36/b4/36b43dcc-d261-4ded-bc72-1439b3090677.png&quot; width=&quot;1055&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/18/2d/182d7853-819c-437d-8028-2a26ab99a53a.jpeg&quot; width=&quot;647&quot; /&gt;
    &lt;figcaption&gt;shcool 21 и shcool 42&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;Основные команды:&lt;/p&gt;
  &lt;p&gt;Школа 21&lt;/p&gt;
  &lt;p&gt;Shell - Командная строка&lt;/p&gt;
  &lt;p&gt;cd - перейти в директорию&lt;/p&gt;
  &lt;p&gt;cd .. - на одну папку выше&lt;/p&gt;
  &lt;p&gt;mkdir - создать директорию&lt;/p&gt;
  &lt;p&gt;rm -r - удалить директорию&lt;/p&gt;
  &lt;p&gt;ls -l - права и файлы в директории&lt;/p&gt;
  &lt;p&gt;cat &lt;/p&gt;
  &lt;p&gt;touch - создать&lt;/p&gt;
  &lt;p&gt;vim - редактор :w - save :q - quit&lt;/p&gt;
  &lt;p&gt;ln - hard link&lt;/p&gt;
  &lt;p&gt;ln -s  sim link&lt;/p&gt;
  &lt;p&gt;chmod - назначить права&lt;/p&gt;
  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;И запомните святые заклинания&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;git init -&lt;/strong&gt; инициализация гита c&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;git add *&lt;/strong&gt; - все в гит&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;git commit&lt;/strong&gt; -  комит на все загруженное&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;git push&lt;/strong&gt; - загружаем &lt;/li&gt;
  &lt;/ol&gt;
  &lt;p&gt;&lt;strong&gt;git log&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;git diff&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;git log --name-status&lt;/strong&gt; проверить что загруженно &lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;git add -a&lt;/strong&gt;  добавления всех файлов в комит commit&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;git commit -m&lt;/strong&gt; &amp;quot;пишем название комета&amp;quot;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;git push origin master&lt;/strong&gt;  пушим коммит ( загружаем в гит)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;git clean&lt;/strong&gt; имя файла (удаляем из гита файл)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;git clean -f -x&lt;/strong&gt; удаляем все что красное&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h2&gt;Задания&lt;/h2&gt;
  &lt;p&gt;Читать здесь &lt;a href=&quot;https://teletype.in/@udarcs/KdaHbulspRP&quot; target=&quot;_blank&quot;&gt;(читать)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h2&gt;&lt;br /&gt;C Piscine C 00&lt;/h2&gt;
  &lt;p&gt;Все решения после компиляции gcc проверяем через norminette&lt;/p&gt;
  &lt;p&gt; &lt;a href=&quot;https://21-school.ru/norminette&quot; target=&quot;_blank&quot;&gt;https://21-school.ru/norminette&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine C 00 &lt;strong&gt;ex00&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;ft_putchar.c&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;

void ft_putchar(char c)
{
    write(1, &amp;amp;c, 1);
}

int main(void)
{
    char c = &amp;#x27;c&amp;#x27;;
    ft_putchar(c);
}&lt;/pre&gt;
  &lt;p&gt;Более правильное решение. ( Для проверки удаляем int main )&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void ft_putchar(char c)
{
  write(1, &amp;amp;c, 1);
}&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine C 00 &lt;strong&gt;ex01&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;ft_print_alphabet.c&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;stdio.h&amp;gt;

void ft_print_alphabet(void)
{
    char letter;

    letter = &amp;#x27;a&amp;#x27;;
    while (letter &amp;lt;= &amp;#x27;z&amp;#x27;)
    {
        putchar(letter);
        letter++;
    }
}

int main(void)
{
    ft_print_alphabet();
    return 0;
}  &lt;/pre&gt;
  &lt;p&gt;Верное решение убирает % в конце строки.  ft_putchar(&amp;#x27;\n&amp;#x27;); &lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void ft_print_alphabet(void)
{
  int letter = &amp;#x27;a&amp;#x27;;
  while (letter &amp;gt;= &amp;#x27;a&amp;#x27; &amp;amp;&amp;amp; letter &amp;lt;= &amp;#x27;z&amp;#x27;)
    ft_putchar(letter++);
  ft_putchar(&amp;#x27;\n&amp;#x27;);
}&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine C 00 &lt;strong&gt;ex02&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;ft_print_reverse_alphabet.c&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;stdio.h&amp;gt;

void    ft_print_reverse_alphabet(void)
{
    char    letter;

    letter = &amp;#x27;z&amp;#x27;;
    while (letter &amp;gt;= &amp;#x27;a&amp;#x27;)
    {
        putchar(letter);
        letter--;
    }
}

int main(void)
{
    ft_print_reverse_alphabet();
    return (0);
}&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine C 00 &lt;strong&gt;ex03&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;ft_print_numbers.c&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;

void	ft_putchar(char c)
{
	write(1, &amp;amp;c, 1);
}

void	ft_print_numbers(void)
{
	char	number;

	number = &amp;#x27;0&amp;#x27;;
	while (number &amp;lt;= &amp;#x27;9&amp;#x27;)
	{
		ft_putchar(number);
		number++;
	}
	ft_putchar(&amp;#x27;\n&amp;#x27;);
}

int	main(void)
{
	ft_print_numbers();
}&lt;/pre&gt;
  &lt;p&gt;Исправили на короткое и более правильное решение.&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void	ft_print_numbers(void)
{
  int i = &amp;#x27;48&amp;#x27;;
  while (i &amp;gt;=&amp;#x27;47&amp;#x27; &amp;amp;&amp;amp; i &amp;lt;= &amp;#x27;57&amp;#x27;)
    ft_putchar(i++);
  ft_putchar(&amp;#x27;\n&amp;#x27;);
}&lt;/pre&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;C Piscine C 00 &lt;strong&gt;ex04&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;ft_is_negative.c&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void	ft_putchar(char c)
{
	write(1, &amp;amp;c, 1);
}

void	ft_is_negative(int n)
{
	if (n &amp;gt;= 0)
	{
		ft_putchar(&amp;#x27;P&amp;#x27;);
	}
	else
	{
		ft_putchar(&amp;#x27;N&amp;#x27;);
	}
}
int main(void)
{                                                        18,0-1         Bot&lt;/pre&gt;
  &lt;h2&gt;C Piscine C 01&lt;/h2&gt;
  &lt;p&gt;C Piscine C 01 &lt;strong&gt;ex00&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;- Создайте функцию, которая принимает указатель на &amp;#x27;int&amp;#x27; в качестве параметра и задает значение &amp;quot;42&amp;quot; для этого &amp;#x27;int&amp;#x27;. &lt;/p&gt;
  &lt;p&gt;- Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void ft_ft(int *nbr)
{
    *nbr = 42;
}&lt;/pre&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/33/1e/331eff36-6e96-4c59-a9c4-6a532435a6af.png&quot; width=&quot;1125&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;C Piscine C 01 &lt;strong&gt;ex01&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Создайте функцию, которая принимает &amp;quot;указатель на указатель на указатель на&lt;br /&gt;указатель на указатель на указатель на указатель на указатель на указатель на&lt;br /&gt;указатель на указатель&amp;quot; на &amp;#x27;int&amp;#x27; в качестве параметра и устанавливает значение&lt;br /&gt;&amp;quot; 42 &amp;quot; для этого &amp;#x27;int&amp;#x27;.&lt;/p&gt;
  &lt;p&gt;- Вот как это должно быть обьявлено:&lt;br /&gt;void	ft_ultimate_ft(int *********nbr);&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_ultimate_ft(int *********nbr)
{
    *********nbr = 42;
}&lt;/pre&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/57/8d/578d7169-33db-425d-9021-5dd455753045.png&quot; width=&quot;1169&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;C Piscine C 01 &lt;strong&gt;ex02&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;Создайте функцию, которая меняет местами значения двух целых чисел, адреса&lt;br /&gt;которых вводятся в качестве параметров.&lt;/p&gt;
  &lt;p&gt;- Вот как это должно быть объявлено:&lt;/p&gt;
  &lt;p&gt;void	ft_swap(int *a, int *b);&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void    ft_swap(int *a, int *b)
{
    int    temp;

    temp = *a;
    *a = *b;
    *b = temp;
}&lt;/pre&gt;
  &lt;p&gt;или&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;void        ft_swap(int *a, int *b)
{
    int t;

    t = *a;
    *a = *b;
    *b = t;
}&lt;/pre&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/69/4d/694d1087-b379-4869-92cf-f88212ab217a.png&quot; width=&quot;1167&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;C Piscine C 01 &lt;strong&gt;ex03&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;h2&gt;C Piscine C 02&lt;/h2&gt;
  &lt;p&gt;C Piscine C 02 &lt;strong&gt;ex00&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;char *ft_strcpy(char *dest, char *src);&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include    &amp;lt;stdio.h&amp;gt;

char    *ft_strcpy(char *dest, char *src)
{
    int i;

    i = 0;
    while (src[i] != &amp;#x27;\0&amp;#x27;)
    {
        dest[i] = src[i];
        i ++;
    }
    dest[i] = src[i];
    return (dest);
}        &lt;/pre&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/8b/03/8b0319f6-bd6b-422f-8433-07591e978653.png&quot; width=&quot;1002&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;C Piscine C 02 &lt;strong&gt;ex01&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;char    *ft_strncpy(char *dest, char *src, unsigned int n)&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;#include &amp;lt;stdio.h&amp;gt;

char    *ft_strncpy(char *dest, char *src, unsigned int n)
{
    unsigned int    i;

    i = 0;
    while (src[i] != &amp;#x27;\0&amp;#x27; &amp;amp;&amp;amp; i &amp;lt; n)
    {
        dest[i] = src[i];
        ++i;
    }
    while (i &amp;lt; n)
    {
        dest[i] = &amp;#x27;\0&amp;#x27;;
        i++;
    }
    return (dest);
}&lt;/pre&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/85/60/85605aec-c395-45be-bfc6-3eb6cdf28156.png&quot; width=&quot;998&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;C Piscine C 02 &lt;strong&gt;ex02&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;int ft_str_is_alpha(char *str);&lt;/p&gt;
  &lt;pre data-lang=&quot;c&quot;&gt;
#include &amp;lt;stdio.h&amp;gt;

int ft_str_is_alpha(char *str)
{
    int i;

    i = 0;
    while (str[i] != &amp;#x27;\0&amp;#x27;)
    {
        if ((str[i] &amp;lt; &amp;#x27;A&amp;#x27; || str[i] &amp;gt; &amp;#x27;Z&amp;#x27;) &amp;amp;&amp;amp; (str[i] &amp;lt; &amp;#x27;a&amp;#x27; || str[i] &amp;gt; &amp;#x27;z&amp;#x27;))
        {
            return (0);
            break ;
        }
        i++;
    }
    return (1);
}
                                                   &lt;/pre&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/1e/04/1e04a263-47af-4797-91eb-1b6afa6dcb98.png&quot; width=&quot;1402&quot; /&gt;
  &lt;/figure&gt;

</content></entry><entry><id>udarcs:06NhfbJR6P3</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/06NhfbJR6P3?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>Swift Class</title><published>2021-05-17T15:29:49.584Z</published><updated>2021-05-17T15:29:49.584Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/68/eb/68ebbaaa-4226-43e8-a8f4-330c59e806e2.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/11/df/11df9e90-c5e4-4573-968e-e61073c5b7b4.png&quot;&gt;</summary><content type="html">
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/11/df/11df9e90-c5e4-4573-968e-e61073c5b7b4.png&quot; width=&quot;940&quot; /&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;class Player {
    
    let name: String
    let game: String
    let age: Int
    
    var playerInfo: String {
        let playerInfo = &amp;quot;&amp;quot;&amp;quot;
        Player name is \(name).
        He plays \(game).
        He is \(age) years old.
        &amp;quot;&amp;quot;&amp;quot;
        return playerInfo
    }
    
    init(name: String, game: String, age: Int) {
        self.name = name
        self.game = game
        self.age = age
    }
}


let player = Player(name: &amp;quot;Mikhail&amp;quot;, game: &amp;quot;Football&amp;quot;, age: 22)
print(player.playerInfo)&lt;/pre&gt;

</content></entry><entry><id>udarcs:MGOFnnoJCWw</id><link rel="alternate" type="text/html" href="https://teletype.in/@udarcs/MGOFnnoJCWw?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=udarcs"></link><title>Swift 2021 бесплатные уроки для новичка. Часть 1</title><published>2021-05-11T21:03:42.658Z</published><updated>2021-05-17T19:30:40.677Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/d4/3d/d43df9c5-8b7e-4086-958d-645f07884454.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/394/394_original.png&quot;&gt;Часть 1 (1-10 уроки)</summary><content type="html">
  &lt;p&gt;Часть 1 (1-10 уроки)&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://teletype.in/@udarcs/TyDy3dzCr01&quot; target=&quot;_blank&quot;&gt;Часть 2 (11-20 уроки)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;&lt;a href=&quot;https://teletype.in/@udarcs/Eh0oI7zDWoA&quot; target=&quot;_blank&quot;&gt;Часть 3 (15-20 уроки)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;// За кавычками находятся комментарий. (Не код.)&lt;/p&gt;
  &lt;p&gt;// Шикарный видео курс для новичка от &lt;a href=&quot;https://www.instagram.com/ian_solomein/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Яна Соломеина&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;В этом видео 2020 года рассказываются самые основы. Ниже изложен код и его результат. Вы можете копировать себе код и на его основе собирать свои конструкции. Для начала это идеальный урок.&lt;/p&gt;
  &lt;figure class=&quot;m_custom&quot;&gt;
    &lt;iframe src=&quot;https://l.lj-toys.com/?auth_token=sessionless%3A1620763200%3Aembedcontent%3A88244882%2615%26%26%26youtube%26ZJcVUSfdVyo%3Aa392951f306d8d5b845a747a98261e7c654e50cb&amp;source=youtube&amp;vid=ZJcVUSfdVyo&amp;moduleid=15&amp;preview=&amp;journalid=88244882&amp;noads=&quot;&gt;&lt;/iframe&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// &lt;strong&gt;Lesson 1&lt;/strong&gt; // Constant / Константы&lt;/h2&gt;
  &lt;p&gt;// Видео &lt;a href=&quot;https://www.youtube.com/watch?v=ZJcVUSfdVyo&amp;t=263s&quot; target=&quot;_blank&quot;&gt;4:23&lt;/a&gt;​ Константы и переменные&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let — константа (неизменная)
var — переменная (от слова «variable» — переменная )
let greetings = &amp;quot;Hello, World&amp;quot; 
var direction = &amp;quot;Left&amp;quot; 
direction = &amp;quot;Right&amp;quot;
greetings&lt;/pre&gt;
  &lt;p&gt;// direction - направление&lt;/p&gt;
  &lt;p&gt;// greetings - приветствие&lt;br /&gt;// let константа может быть одна и не меняется&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/394/394_original.png&quot; width=&quot;579&quot; /&gt;
    &lt;figcaption&gt;Как выглядит код в Xcode 12.5&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// &lt;strong&gt;Lesson 2&lt;/strong&gt; // Type data / Тип данных&lt;/h2&gt;
  &lt;p&gt;// Видео &lt;a href=&quot;https://www.youtube.com/watch?v=ZJcVUSfdVyo&amp;t=795s&quot; target=&quot;_blank&quot;&gt;13:15&lt;/a&gt;​ Типы данных&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Int&lt;/strong&gt; — integral (целочисленное, целое число) 1, 12, -4, 99, складываются между собой.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Float&lt;/strong&gt; — Число с плавающей точкой (2.134) Floating-point number (2.1234567 7 цифр после запятой не точные вычисления) отличие в точности.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Double&lt;/strong&gt; — Число с плавающей точкой (2.134) double-precision floating-point number (2.342342344 64x самые точные вычисления, выбирается по умолчанию)&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;var a = 42
var b = -27
var x = 5.47
var c = -300.145&lt;/pre&gt;
  &lt;p&gt;//var &lt;strong&gt;sum &lt;/strong&gt;(суммирование)&lt;/p&gt;
  &lt;p&gt;var sum = &lt;strong&gt;Double&lt;/strong&gt;(&lt;strong&gt;a&lt;/strong&gt;) + &lt;strong&gt;x&lt;/strong&gt;  // Складываем Int (a)+ Double(x) для точного сложения преобразовываем целочисленное Integral в Double в таком случае все что находится после точке учитывается в уравнении 42+5.47=47.47 если преобразуем var sum = &lt;strong&gt;a&lt;/strong&gt; + &lt;strong&gt;Int&lt;/strong&gt;(&lt;strong&gt;x&lt;/strong&gt;) получим 42+5.47=47 все что после точки съело.&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;var hiBro = &amp;quot;Hello, word&amp;quot;
var h = &amp;quot;Hello, &amp;quot;
var r = &amp;quot;people!&amp;quot;
var sum2 = h + r
print(&amp;quot;Hi \(r)&amp;quot;) &lt;/pre&gt;
  &lt;p&gt;// Складываем строки методом Конкатенации &lt;strong&gt;\()&lt;/strong&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a7/e4/a7e429ec-8ae7-4080-8f0f-a8d1e4c49746.png&quot; width=&quot;626&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// &lt;strong&gt;Lesson 3&lt;/strong&gt; // Boolean (Логические) / Bool&lt;/h2&gt;
  &lt;p&gt;// Булевы значения (&lt;strong&gt;True&lt;/strong&gt; — Верно) (&lt;strong&gt;False&lt;/strong&gt; — лож, нет, не верно.)&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// &lt;strong&gt;!а &lt;/strong&gt;— Не&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// &lt;strong&gt;a &amp;amp;&amp;amp; b &lt;/strong&gt;— И&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;// &lt;strong&gt;a || b &lt;/strong&gt;— или&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/02/b5/02b50fb6-e48d-4c95-8c5e-e1ba72e74db9.png&quot; width=&quot;963&quot; /&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;var areYouHappy = true  &lt;/pre&gt;
  &lt;p&gt;// Дана переменная &lt;strong&gt;areYouHappy&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Пример 1&lt;/strong&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;if areYouHappy { 
print(&amp;quot;Good&amp;quot;) 
} else { 
print(&amp;quot;Bad&amp;quot;)
}&lt;/pre&gt;
  &lt;p&gt;// &lt;strong&gt;if&lt;/strong&gt; — если&lt;/p&gt;
  &lt;p&gt;// &lt;strong&gt;true &lt;/strong&gt;— если (areYouHappy = &lt;strong&gt;true ) &lt;/strong&gt;выводить это&lt;/p&gt;
  &lt;p&gt;// &lt;strong&gt;else&lt;/strong&gt; — ещё&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;var areYouHappy2 = false &lt;/pre&gt;
  &lt;p&gt;// Дана переменная &lt;strong&gt;areYouHappy2&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Пример 2&lt;/strong&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;if areYouHappy2 {
print(&amp;quot;Good&amp;quot;)
} else {
print(&amp;quot;Bad&amp;quot;) 
}&lt;/pre&gt;
  &lt;p&gt;// &lt;strong&gt;false &lt;/strong&gt;— если (areYouHappy2&lt;strong&gt; = false) &lt;/strong&gt;выводить это&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/84/89/8489f132-bc2f-491f-83a3-5296e7bcd755.png&quot; width=&quot;582&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/4b/42/4b423ffd-64f6-40d9-84db-ce8a241497ea.png&quot; width=&quot;902&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// Lesson 4 // Сложение чисел Int + Double&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;// Int&lt;/strong&gt; — Целочисленное 1, 5, 7, -10,&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Double&lt;/strong&gt; — Число с плавающей точкой 3.23, 7.12467 , -0.2444&lt;/p&gt;
  &lt;pre&gt;var a = 42.25                  // a — является Double Дабл (по умолчанию)&lt;/pre&gt;
  &lt;pre&gt;var b = 10                     // b — является Int Интеграл&lt;/pre&gt;
  &lt;pre&gt;var sum2 = Int(a) + b          // Число (a) 42.25 превращаем в Int&lt;/pre&gt;
  &lt;p&gt;// Неверный способ. Ответ будет 42.25+10 = 52 все что после точки пропадает.&lt;/p&gt;
  &lt;pre&gt;var sum3 = a + Double(b)       // Необходимо Int(b) 10 превратить в Double&lt;/pre&gt;
  &lt;p&gt;// Верный способ. Ответ будет 42.25+10 = 52.25&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/9b/ec/9becd7e5-4b70-4724-8c77-9d1886081c7e.png&quot; width=&quot;650&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// Lesson 5 // Basic Operators&lt;/h2&gt;
  &lt;p&gt;// Видео &lt;a href=&quot;https://www.youtube.com/watch?v=ZJcVUSfdVyo&amp;t=1877s&quot; target=&quot;_blank&quot;&gt;31:17&lt;/a&gt;​ Базовые операторы&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/03/38/03387089-e438-4885-987f-0d08163a737b.png&quot; width=&quot;697&quot; /&gt;
    &lt;figcaption&gt;операторы&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Унарные&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Префиксные:&lt;/strong&gt; (перед выражением) &lt;strong&gt;-&lt;/strong&gt;а &lt;strong&gt;!&lt;/strong&gt;b &lt;strong&gt;+&lt;/strong&gt;c&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Постфиксные:&lt;/strong&gt; (после выражения) x&lt;strong&gt;+ &lt;/strong&gt;u&lt;strong&gt;-&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Бинарные &lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;// &lt;strong&gt;Инфиксные:&lt;/strong&gt; (ин внутри in) 1 + 2&lt;/p&gt;
  &lt;p&gt;// 1, 2 — это операнды — данные которые обрабатываются с помощью +-:*%&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Тернарные&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;a &lt;strong&gt;?&lt;/strong&gt; b &lt;strong&gt;:&lt;/strong&gt; c ( если &lt;strong&gt;а&lt;/strong&gt; (true = &lt;strong&gt;?&lt;/strong&gt;) то что верно &lt;strong&gt;b&lt;/strong&gt; или &lt;strong&gt;с&lt;/strong&gt; )&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Оператор присваивания&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;= ( let &lt;strong&gt;a&lt;/strong&gt; = 5 присваиваем константе &lt;strong&gt;а&lt;/strong&gt; цифру 5 ) var &lt;strong&gt;a&lt;/strong&gt; = 5&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Арифметические операторы&lt;/strong&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;+, -, *, /, %
let x = 12
let y = 5

x + y
x - y
x * y
x / y

let h = &amp;quot;Hello, &amp;quot;                  //Строки можем складывать
let g = &amp;quot;Swift.&amp;quot;

h + g&lt;/pre&gt;
  &lt;p&gt;// Ответ: Hello, Swift.&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;x % y&lt;/pre&gt;
  &lt;p&gt;// 12/ делим (5 * 2) + 2&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/f4/6a/f46ae3dd-8e43-4a41-98e1-b6b83f6cf8cf.png&quot; width=&quot;807&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://imgprx.livejournal.net/b6abb2974a1577279a7315a4989e8580f0866972/MLPZu1E7P23kNdNPsSKwnvOtLw_zn1Z4sgWzWrnq9OyUVoIFGjGri_8Yn_k-E5-8lVg2AOyJ4L9E_gWpK3WiWtS2N909vuOaWu5_gGx1hkyZ7t-QPxSY6J3QoYnxwWoPIfzIS__n5CF6bks9xx_MbxmaNYP3BNaKNMK1RItXm4k&quot; width=&quot;674&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// Lesson 6 // Составные операторы присвоения&lt;/h2&gt;
  &lt;p&gt;var &lt;strong&gt;c&lt;/strong&gt; = &lt;strong&gt;1&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;c&lt;/strong&gt; &lt;strong&gt;+=&lt;/strong&gt; 2 // += составной оператор с + 2 = 3 ( с=1 то есть c+=2 получается 3 )&lt;/p&gt;
  &lt;p&gt;c = c + 2 // c=3 строкой выше с+2 где с (3) + 2 =5&lt;/p&gt;
  &lt;p&gt;var count = 6 // count - перевод &amp;quot;считать&amp;quot;&lt;/p&gt;
  &lt;p&gt;count += 1 // ответ 7 / 6 считать + 1 (считать count (6) += 1) ответ 7&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ab/24/ab24eb97-e0db-4c52-bb19-d7fef4c7275c.png&quot; width=&quot;871&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// Lesson 7 &lt;strong&gt;// Операторы сравнения &lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;// == равно / != не равно / &amp;gt; больше / &amp;lt; меньше /&lt;/p&gt;
  &lt;p&gt;// &amp;gt;= больше или равно / &amp;lt;= меньше или равно&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let t = 15
let p = 10&lt;/pre&gt;
  &lt;p&gt;t == p // &lt;strong&gt;false&lt;/strong&gt; лож или неверно (не равно) 15=10 (false ==)&lt;/p&gt;
  &lt;p&gt;t != p // &lt;strong&gt;true&lt;/strong&gt; правда или да (верно, не равно) 15 не равно 10 (true !=)&lt;/p&gt;
  &lt;p&gt;t &amp;gt; p&lt;/p&gt;
  &lt;p&gt;t &amp;lt; p&lt;/p&gt;
  &lt;p&gt;t &amp;gt;= p&lt;/p&gt;
  &lt;p&gt;t &amp;lt;= p&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;pre&gt;let name = &amp;quot;world&amp;quot;                      // let Константа «world»&lt;/pre&gt;
  &lt;pre&gt;if name == &amp;quot;world&amp;quot; {                    // if если = world (True)&lt;/pre&gt;
  &lt;pre&gt;print(&amp;quot;Hello, world!&amp;quot;)                  // то печатаем Hello, world!&lt;/pre&gt;
  &lt;pre&gt;} else {                                // else ещё (другое что-то)&lt;/pre&gt;
  &lt;pre&gt;print(&amp;quot;Something went wrong&amp;quot;)           // то печатаем Something went wrong&lt;/pre&gt;
  &lt;pre&gt;}&lt;/pre&gt;
  &lt;p&gt;// Ответ: Hello, world!&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/fd/ac/fdac4182-a7cb-4edd-8c61-d165c3843832.png&quot; width=&quot;760&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// Lesson 8 // Тернарный (?) / Условный оператор&lt;/h2&gt;
  &lt;p&gt;// Выражение &lt;strong&gt;?&lt;/strong&gt;  / действие 1 : действие 2&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt; if&lt;/strong&gt; выражение {&lt;/p&gt;
  &lt;p&gt;действие 1&lt;/p&gt;
  &lt;p&gt;} &lt;strong&gt;else&lt;/strong&gt; {&lt;/p&gt;
  &lt;p&gt;действие 2&lt;/p&gt;
  &lt;p&gt;}&lt;/p&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;pre&gt;let firstCard = 11                 // Первая карта = 11&lt;/pre&gt;
  &lt;pre&gt;let secondCard = 10                // Вторая карта = 10&lt;/pre&gt;
  &lt;pre&gt;if firstCard == secondCard {       // if если первая карта = второй карте&lt;/pre&gt;
  &lt;pre&gt;print(&amp;quot;Cards are the same&amp;quot;)        // печатаем («Карты одинаковы»)&lt;/pre&gt;
  &lt;pre&gt;} else {                    // else еще (другое) в том случае если не равно&lt;/pre&gt;
  &lt;pre&gt;print(&amp;quot;Cards are different&amp;quot;)       // печатаем («Карты разные»)&lt;/pre&gt;
  &lt;pre&gt;}&lt;/pre&gt;
  &lt;p&gt;&lt;strong&gt;// Этаже запись с помощью тернарного оператора (?) он же ==&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;firstCard == secondCard &lt;strong&gt;?&lt;/strong&gt; print(&amp;quot;Cards are the same&amp;quot;) : print(&amp;quot;Cards are different&amp;quot;)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Если не равно&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;firstCard != secondCard ? print(&amp;quot;Cards are the same&amp;quot;) : print(&amp;quot;Cards are different&amp;quot;)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Ответ видим в коде.&lt;/strong&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/46/c4/46c4aaca-4e8c-4660-9c7f-aea53b0d383a.png&quot; width=&quot;837&quot; /&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;var gender = 1
gender == 0 ? print(&amp;quot;male&amp;quot;) : print(&amp;quot;famaly&amp;quot;)

var fruits = 2
fruits == 0 ? print(&amp;quot;apple&amp;quot;) : print(&amp;quot;mango&amp;quot;)

gender; index
fruits; index&lt;/pre&gt;
  &lt;p&gt;// Попробуйте &lt;strong&gt;не равно&lt;/strong&gt; fruits &lt;strong&gt;!=&lt;/strong&gt; 0 ? print(&amp;quot;apple&amp;quot;) : print(&amp;quot;mango&amp;quot;)&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/28648/28648_original.png&quot; width=&quot;770&quot; /&gt;
    &lt;figcaption&gt;Что будет: fruits != 0 ? print(&amp;quot;apple&amp;quot;) : print(&amp;quot;mango&amp;quot;)&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// Lesson 9 // Оператор замкнутого/закрытого диапазона (a...b),&lt;/h2&gt;
  &lt;h2&gt;// Оператор полузамкнутого/полузакрытого диапазона (a..&amp;lt;b) не включая Б b&lt;/h2&gt;
  &lt;p&gt;// Видео&lt;/p&gt;
  &lt;p&gt;// Логические операторы / ! — не, !a — (не a) / &amp;amp;&amp;amp; — и / || — или&lt;/p&gt;
  &lt;pre&gt;let areYouHappy = true          // константа выСчаствиы = да&lt;/pre&gt;
  &lt;pre&gt;if !areYouHappy {               // if — если !выСчаствивы / где ! — не&lt;/pre&gt;
  &lt;pre&gt;print(&amp;quot;Good, for you&amp;quot;)          // false печатаем(«Повезло, тебе»)&lt;/pre&gt;
  &lt;pre&gt;} else {                        // else — ещё&lt;/pre&gt;
  &lt;pre&gt;print(&amp;quot;What can a do for you?&amp;quot;) // true печатаем(«Чем можем помочь?»)&lt;/pre&gt;
  &lt;pre&gt;}&lt;/pre&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/2570/2570_800.png&quot; width=&quot;800&quot; /&gt;
    &lt;figcaption&gt;let areYouHappy = true&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;// Другой пример &amp;amp;&amp;amp; / и&lt;/strong&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let areYouHappy = true
let isTheWeatherGood = true

if areYouHappy &amp;amp;&amp;amp; isTheWeatherGood {
print(&amp;quot;Go outside&amp;quot;) 
} else {
print(&amp;quot;Stay home&amp;quot;) 
}&lt;/pre&gt;
  &lt;p&gt;// true / areYouHappy = true &lt;strong&gt;и&lt;/strong&gt; isTheWeatherGood = true&lt;/p&gt;
  &lt;p&gt;// true / не выполняется поскольку первое исполнено&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Другой пример || / или&lt;/strong&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let isTheWeatherGood2 = true

if areYouHappy || isTheWeatherGood2 {
print(&amp;quot;Go outside&amp;quot;)
} else {
print(&amp;quot;Stay home&amp;quot;) 
}&lt;/pre&gt;
  &lt;p&gt;// true / areYouHappy good = true&lt;/p&gt;
  &lt;p&gt;// true / не выполняется поскольку первое исполнен&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/4b/42/4b423ffd-64f6-40d9-84db-ce8a241497ea.png&quot; width=&quot;902&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// Lesson 10 // Условия&lt;/h2&gt;
  &lt;p&gt;// Видео &lt;a href=&quot;https://www.youtube.com/watch?v=ZJcVUSfdVyo&amp;t=3580s&quot; target=&quot;_blank&quot;&gt;59:40&lt;/a&gt;​ Условия&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Пример 1&lt;/strong&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let firstCard = 11&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let secondCard = 10&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;if firstCard + secondCard == 21 {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;You are win&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;} else if (firstCard + secondCard) &amp;gt; 18 &amp;amp;&amp;amp; (firstCard + secondCard) &amp;lt; 21 {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Good cards&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;} else {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Regular cards&amp;quot;)&lt;/pre&gt;
  &lt;pre&gt;}&lt;/pre&gt;
  &lt;p&gt;// Условие при котором печатается «&lt;strong&gt;You are win&lt;/strong&gt;»&lt;/p&gt;
  &lt;p&gt;// &lt;strong&gt;if&lt;/strong&gt;  firstCard + secondCard == &lt;strong&gt;21 (первое условие)&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;// Второе условие&lt;strong&gt; не выполняется&lt;/strong&gt; поскольку уже выполнилось первое.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/3941/3941_original.png&quot; width=&quot;717&quot; /&gt;
    &lt;figcaption&gt;Условие 1&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;// Пример 2&lt;/strong&gt;&lt;/p&gt;
  &lt;p&gt;// Изменим наши константы:&lt;/p&gt;
  &lt;pre&gt;let firstCard = 11&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let secondCard = 8&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;if firstCard + secondCard == 21 {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;You are win&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;} else if (firstCard + secondCard) &amp;gt; 18 &amp;amp;&amp;amp; (firstCard + secondCard) &amp;lt; 21 {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Good cards&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;} else {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Regular cards&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;p&gt;// Условие при котором печатается «&lt;strong&gt;Good cards&lt;/strong&gt;»&lt;/p&gt;
  &lt;p&gt;// ( 11+8=19 ) 19&amp;gt;18 ( 11+8=19 ) 19&amp;lt;21&lt;/p&gt;
  &lt;p&gt;//(firstCard + secondCard) &amp;gt; 18 &amp;amp;&amp;amp; (firstCard + secondCard) &amp;lt; 21&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/4110/4110_original.png&quot; width=&quot;743&quot; /&gt;
    &lt;figcaption&gt;Условие 2&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;// Пример 3&lt;/strong&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let age1 = 12&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let age2 = 21&lt;/pre&gt;
  &lt;pre&gt;if age1 &amp;gt; 12 &amp;amp;&amp;amp; age2 &amp;gt; 18 {    // Распечатается если все условие будет True&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Both are over 18&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;pre&gt;if age1 &amp;gt; 12 || age2 &amp;gt; 18 {    // Распечатается если одно условие True&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Both are over 18&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/4799/4799_original.png&quot; width=&quot;698&quot; /&gt;
    &lt;figcaption&gt;Пример 3&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;// Switch&lt;/strong&gt; — переключатель.&lt;/p&gt;
  &lt;p&gt;switch (переключатель) значение для сопоставления {&lt;/p&gt;
  &lt;p&gt;case значение 1:&lt;/p&gt;
  &lt;p&gt;инструкция для значения 1&lt;/p&gt;
  &lt;p&gt;case значение 2:&lt;/p&gt;
  &lt;p&gt;инструкция для значения 2&lt;/p&gt;
  &lt;p&gt;case значение 3:&lt;/p&gt;
  &lt;p&gt;инструкция для значения 3&lt;/p&gt;
  &lt;p&gt;default:&lt;/p&gt;
  &lt;p&gt;инструкция, если значения с шаблонами не найдены (не совпадают)&lt;/p&gt;
  &lt;p&gt;}&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Пример 1&lt;/strong&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let weather = &amp;quot;sunny&amp;quot;&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;switch weather {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;case &amp;quot;rain&amp;quot;: print(&amp;quot;Ring an umbrella&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;case &amp;quot;sniw&amp;quot;: print(&amp;quot;Wrap up warm&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;case &amp;quot;sunny&amp;quot;: print(&amp;quot;Wear glasses&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;case &amp;quot;clouds&amp;quot;: print(&amp;quot;Maybe rain&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;default: print(&amp;quot;Enjoy your day&amp;quot;) //Если ничего не подходит выводим это.&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/4905/4905_original.png&quot; width=&quot;738&quot; /&gt;
    &lt;figcaption&gt;Case&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;// Вводим значение: &lt;strong&gt;fallthrough&lt;/strong&gt; (Терпеть неудачу)&lt;/p&gt;
  &lt;p&gt;// В таком случаем выводится строка ниже.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/5373/5373_original.png&quot; width=&quot;738&quot; /&gt;
    &lt;figcaption&gt;Case 2&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;// Вводим константу &lt;strong&gt;age&lt;/strong&gt; = 12&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let age = 12&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;switch age {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;case 0...10: print(&amp;quot;You are too young&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;case 13..&amp;lt;20: print(&amp;quot;Yoy are teenager&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;case 20...60: print(&amp;quot;You are grown man&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;default: print(&amp;quot;How old are you&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;p&gt;// Как думаете что выведется при компиляции?&lt;/p&gt;
  &lt;p&gt;// Распечаталось How old are you (сколько тебе лет)&lt;/p&gt;
  &lt;p&gt;// Потому что не указан диапазон от 10...13&lt;/p&gt;
  &lt;p&gt;// Выводится &lt;strong&gt;default&lt;/strong&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/5405/5405_original.png&quot; width=&quot;747&quot; /&gt;
    &lt;figcaption&gt;Case 3&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;let age = 80 // или больше 80...&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;case 80...: print(&amp;quot;You are old man&amp;quot;)&lt;/pre&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/5922/5922_original.png&quot; width=&quot;748&quot; /&gt;
    &lt;figcaption&gt;Case 4&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h2&gt;// Lesson 12 / Циклы / Cycles&lt;/h2&gt;
  &lt;p&gt;// for in / while / repeat-while / &lt;a href=&quot;https://swiftbook.ru/content/7-video-19/&quot; target=&quot;_blank&quot;&gt;(Смотреть)&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;// Видео &lt;a href=&quot;https://www.youtube.com/watch?v=ZJcVUSfdVyo&amp;t=4519s&quot; target=&quot;_blank&quot;&gt;1:15:19&lt;/a&gt;​ Циклы&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/e4/ff/e4ff5e9a-cb49-4497-9ec6-9637e9ea3f85.png&quot; width=&quot;696&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;// Пример 1 &lt;/strong&gt;/ for in /&lt;/p&gt;
  &lt;pre&gt;let count = 1...10           // count (считать) Включая число 1 и число 10&lt;/pre&gt;
  &lt;pre&gt;for number in count {&lt;/pre&gt;
  &lt;pre&gt;print(&amp;quot;Number is \(number)&amp;quot;) // Метод конкатенации&lt;/pre&gt;
  &lt;pre&gt;}&lt;/pre&gt;
  &lt;p&gt;// Распечаталось 10 цифр.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;// Итерация&lt;/strong&gt; — повторение одного и того же действия.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/6303/6303_original.png&quot; width=&quot;776&quot; /&gt;
    &lt;figcaption&gt;Cycles 1 / for in&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;// number&lt;/strong&gt; можем заменить на любое имя (&lt;strong&gt;allName&lt;/strong&gt;) (i) (numeral) и.т.д.&lt;/p&gt;
  &lt;p&gt;// Это — внутренняя константа, используется только внутри тела цикла.&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/6473/6473_800.png&quot; width=&quot;800&quot; /&gt;
    &lt;figcaption&gt;Cycles 2 / for in&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;// Пример 2 &lt;/strong&gt;/ for in /&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;for _ in 1...5 {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Hello&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;p&gt;// Распечатать Hello 5 раз (Итерация)&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/6817/6817_original.png&quot; width=&quot;710&quot; /&gt;
    &lt;figcaption&gt;Cycles 3 / for in&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;// &lt;strong&gt;Пример 3 &lt;/strong&gt;/ for in /&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;for index in 0...9 {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;\(index) умножить на 3 равно \(index * 3)&amp;quot;)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;p&gt;// Итерация с использованием ( &lt;strong&gt;*&lt;/strong&gt; ) умножения&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/6934/6934_original.png&quot; width=&quot;701&quot; /&gt;
    &lt;figcaption&gt;Cycles 4 / for in&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;// &lt;strong&gt;Пример 4&lt;/strong&gt; / while /&lt;/p&gt;
  &lt;p&gt;// Если условие истинно &lt;strong&gt;True&lt;/strong&gt; то выполняется пока не станет &lt;strong&gt;False&lt;/strong&gt;&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;while условие {&lt;/pre&gt;
  &lt;pre&gt;инструкция&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;p&gt;// Запишем&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;var number = 1 &lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;while number &amp;lt;= 20 {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(number)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;number += 1&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Start&amp;quot;)&lt;/pre&gt;
  &lt;p&gt;// Выполнять до тех пор пока меньше &amp;lt; или = 20 (&lt;strong&gt;True&lt;/strong&gt;)&lt;/p&gt;
  &lt;p&gt;// и печатать (это значение)&lt;/p&gt;
  &lt;p&gt;// каждую итерацию прибавлять +1&lt;/p&gt;
  &lt;p&gt;// как только станет больше &amp;gt; или =20 (&lt;strong&gt;False&lt;/strong&gt;) напечатать «Start»&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/7336/7336_800.png&quot; width=&quot;800&quot; /&gt;
    &lt;figcaption&gt;Cycles 5 / while&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;// &lt;strong&gt;Пример 5&lt;/strong&gt; / &lt;strong&gt;repeat-while&lt;/strong&gt; / в других языках«&lt;em&gt;do while&lt;/em&gt;»&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;repeat {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;инструкция&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;} while условие&lt;/pre&gt;
  &lt;p&gt;// Запишем&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;var number = 10&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;repeat {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(number)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;number += 1&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;} while number &amp;lt;= 20&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Start&amp;quot;)&lt;/pre&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/7545/7545_original.png&quot; width=&quot;716&quot; /&gt;
    &lt;figcaption&gt;Cycles 6 / repeat&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;// &lt;strong&gt;Пример 6&lt;/strong&gt; / &lt;strong&gt;repeat-while&lt;/strong&gt; /&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;var number = 10&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;repeat {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(number)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;number += 1&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;} while number &amp;lt;= 5&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Finish&amp;quot;)&lt;/pre&gt;
  &lt;p&gt;// В данном случае число &lt;strong&gt;10&lt;/strong&gt; уже прошло проверку.&lt;/p&gt;
  &lt;p&gt;// &lt;strong&gt;repeat &lt;/strong&gt;(повторять) = 10 (&lt;strong&gt;True&lt;/strong&gt;)&lt;/p&gt;
  &lt;p&gt;// и печатать (это значение)&lt;/p&gt;
  &lt;p&gt;// каждую итерацию прибавлять +1&lt;/p&gt;
  &lt;p&gt;// как только станет равно = 10 (&lt;strong&gt;False&lt;/strong&gt;) напечатать «Finish»&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/7860/7860_800.png&quot; width=&quot;800&quot; /&gt;
    &lt;figcaption&gt;Cycles 7 / repeat&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;// &lt;strong&gt;Пример 7&lt;/strong&gt; / &lt;strong&gt;repeat-while&lt;/strong&gt; / Отсчитать до старта /&lt;/p&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;var start = 10&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;while start &amp;gt;= 0 {&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(start)&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;start -= 1&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;}&lt;/pre&gt;
  &lt;pre data-lang=&quot;swift&quot;&gt;print(&amp;quot;Go, go!&amp;quot;)&lt;/pre&gt;
  &lt;p&gt;// Задача отсчитать время до старта в обратном порядке.&lt;/p&gt;
  &lt;p&gt;// &lt;strong&gt;while &lt;/strong&gt;(пока) start больше или равен &amp;gt;= 0&lt;/p&gt;
  &lt;p&gt;// печатать (значения &lt;strong&gt;start&lt;/strong&gt;)&lt;/p&gt;
  &lt;p&gt;// При каждой итерации отнимая (start &lt;strong&gt;10&lt;/strong&gt;) -1 (start -= 1)&lt;/p&gt;
  &lt;p&gt;// Все числа 10,9,8......3,2,1,0 (&lt;strong&gt;True&lt;/strong&gt;)&lt;/p&gt;
  &lt;p&gt;// Как только значение станет (&lt;strong&gt;False&lt;/strong&gt;) напечатать «Go, go!»&lt;/p&gt;
  &lt;figure class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://ic.pics.livejournal.com/udarcs/88244882/8188/8188_original.png&quot; width=&quot;747&quot; /&gt;
    &lt;figcaption&gt;Cycles 8 / repeat&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;​&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;&lt;a href=&quot;https://teletype.in/@udarcs/TyDy3dzCr01&quot; target=&quot;_blank&quot;&gt;// Продолжение / Часть 2 / ( ПЕРЕЙТИ)&lt;/a&gt;&lt;/strong&gt;&lt;/h2&gt;

</content></entry></feed>