init commit

This commit is contained in:
Gregory 2016-11-20 02:20:23 +02:00
commit e078efd325
284 changed files with 8382 additions and 0 deletions

32
brainfuck/Makefile Normal file
View file

@ -0,0 +1,32 @@
# MAkefile
# AUTHOR: foton
# FILE: Makefile
# ROLE: to compile them all
# CREATED: 2016-11-20 00:59:16
# MODIFIED: 2016-11-20 01:14:41
NAME = brainfuck
CC = clang
FLAGS = -Wall -Werror -Wextra
SRC = src/main.c \
src/output.c \
src/brainfuck.c
OBJ = $(SRC:.c=.o)
INC = -I inc/
all: $(NAME)
$(NAME): $(OBJ)
$(CC) $(FLAGS) $(OBJ) $(INC) -o $(NAME)
.c.o: $(SRC)
$(CC) $(FLAGS) $(INC) -c $< -o $@
clean:
rm -f $(OBJ)
fclean: clean
rm -f $(BIN)$(NAME)
re:
fclean all

11
brainfuck/README Normal file
View file

@ -0,0 +1,11 @@
# Text File
# AUTHOR: foton
# FILE: README
# ROLE: to rule them all
# CREATED: 2016-11-20 01:18:23
# MODIFIED: 2016-11-20 01:20:33
Simple brainfuck interpreter.
compile: "make fclean, make" or "make re"
test: "cat hello_world.bf | xargs ./brainfuck"

1
brainfuck/hello_world.bf Normal file
View file

@ -0,0 +1 @@
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

17
brainfuck/inc/brnfck.h Normal file
View file

@ -0,0 +1,17 @@
// C/C++ File
// AUTHOR: foton
// FILE: brnfck.h
// ROLE: to rule them all
// CREATED: 2016-11-20 00:52:13
// MODIFIED: 2016-11-20 00:54:35
#ifndef BRNFCK_H
# define BRNFCK_H
# define SIZE 30000
int brainfuck(char *source);
void my_putchar(char c);
void my_putstr(char *str);
#endif

52
brainfuck/src/brainfuck.c Normal file
View file

@ -0,0 +1,52 @@
// C/C++ File
// AUTHOR: foton
// FILE: brainfuck.c
// ROLE: to rule them all
// CREATED: 2016-11-19 22:28:26
// MODIFIED: 2016-11-20 01:13:18
// TODO: nested loops
// read user input
// handle errors (incorrect source)
// read from file and stdin
#include <stdlib.h>
#include "brnfck.h"
int brainfuck(char *source)
{
char *array;
int i;
int head;
int start_loop;
i = 0;
array = malloc(sizeof(char) * SIZE);
while (i < SIZE)
array[i++] = 0;
i = 0;
head = 0;
start_loop = 0;
while (source[i])
{
if (source[i] == '+')
array[head]++;
if (source[i] == '-')
array[head]--;
if (source[i] == '>')
head++;
if (source[i] == '<')
head--;
if (source[i] == '.')
my_putchar(array[head]);
if (source[i] == '[')
start_loop = i;
if (source[i] == ']')
{
if (!(array[head] == 0))
i = start_loop - 1;
}
i++;
}
free(array);
return (0);
}

23
brainfuck/src/main.c Normal file
View file

@ -0,0 +1,23 @@
// C/C++ File
// AUTHOR: foton
// FILE: main.c
// ROLE: to rule them all
// CREATED: 2016-11-19 22:28:26
// MODIFIED: 2016-11-20 01:15:58
#include "brnfck.h"
int main(int argc, char **argv)
{
if (argc < 2)
{
my_putstr("Dude, put some source to work with!\n");
return (0);
}
if (brainfuck(argv[1]) == 1)
{
my_putstr("Something goes wrong :(\n");
return (1);
}
return (0);
}

19
brainfuck/src/output.c Normal file
View file

@ -0,0 +1,19 @@
// C/C++ File
// AUTHOR: foton
// FILE: output.c
// ROLE: to rule them all
// CREATED: 2016-11-19 22:28:26
// MODIFIED: 2016-11-20 00:51:42
#include <unistd.h>
void my_putstr(char *str)
{
while (*str)
write(1, str++, 1);
}
void my_putchar(char c)
{
write(1, &c, 1);
}

BIN
d00/ex01/testDay00.tar Normal file

Binary file not shown.

BIN
d00/ex02/exo2.tar Normal file

Binary file not shown.

5
d00/ex03/klist.txt Normal file
View file

@ -0,0 +1,5 @@
Credentials cache: API:4728
Principal: gtertysh@UNIT.UA
Issued Expires Principal
Oct 26 12:13:24 2016 Oct 26 22:13:16 2016 krbtgt/UNIT.UA@UNIT.UA

1
d00/ex04/who_am_i.sh Normal file
View file

@ -0,0 +1 @@
ldapwhoami -Q | cut -c4- | cut -d , -f1,3-

1
d00/ex05/people.sh Normal file
View file

@ -0,0 +1 @@
ldapsearch -Q -LLL "uid=z*" | grep "^cn" | sort -r

View file

@ -0,0 +1,4 @@
dn: uid=gtertysh,ou=november,ou=2016,ou=people,dc=unit,dc=ua
changetype: modify
add: mobile
mobile: 0930351607

1
d00/ex07/midLS Normal file
View file

@ -0,0 +1 @@
ls -mpU

1
d00/ex08/z Normal file
View file

@ -0,0 +1 @@
Z

11
d00/ex09/b Normal file
View file

@ -0,0 +1,11 @@
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's ultimate weapon, the STAR DEATH, an armored space station with enough power to destroy an entire planet.
Pursued by the Empire'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..

1
d00/ex10/clean Normal file
View file

@ -0,0 +1 @@
find . -type f \( -name '*~' -o -name '#*' -o -name '*#' \) -print -delete

1
d00/ex11/ft_magic Normal file
View file

@ -0,0 +1 @@
41 string 42 42 file

1
d01/ex01/print_groups.sh Executable file
View file

@ -0,0 +1 @@
groups $FT_USER | tr ' ' ',' | tr -d '\n'

1
d01/ex02/find_sh.sh Executable file
View file

@ -0,0 +1 @@
find . -name "*.sh" | rev | cut -d '.' -f 2 | cut -d '/' -f 1 | rev

1
d01/ex03/count_files.sh Executable file
View file

@ -0,0 +1 @@
find . | wc -l | tr -d " "

1
d01/ex04/MAC.sh Executable file
View file

@ -0,0 +1 @@
ifconfig | tr -d "\t" | grep "^ether" | cut -d " " -f 2

0
d01/ex05/"?$*KwaMe*$?\" Normal file
View file

View file

@ -0,0 +1 @@
42

1
d01/ex06/skip.sh Executable file
View file

@ -0,0 +1 @@
ls -l | sed -n "p;n"

1
d01/ex07/r_dwssap.sh Executable file
View file

@ -0,0 +1 @@
cat /etc/passwd | grep -v ^# | sed -n 'n;p' | cut -d ":" -f1 | rev | sort -r | sed -n "$FT_LINE1,$FT_LINE2 p" | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/, /g' | tr "\n" "."

1
d01/ex08/bon.sh Executable file
View file

@ -0,0 +1 @@
ldapsearch -Q | grep ^givenName | grep -i "bon" | wc -l | tr -d " "

0
d01/ex09/add_chelou.sh Normal file
View file

View file

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_print_alphabet.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/26 17:23:25 by gtertysh #+# #+# */
/* Updated: 2016/10/27 20:23:08 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_print_alphabet(void)
{
char a;
a = 'a';
while (a <= 'z')
{
ft_putchar(a);
a = a + 1;
}
}

View file

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_print_reverse_alphabet.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/27 10:58:34 by gtertysh #+# #+# */
/* Updated: 2016/10/27 11:39:26 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_print_reverse_alphabet(void)
{
char z;
z = 'z';
while (z >= 'a')
{
ft_putchar(z);
z = z - 1;
}
}

View file

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_print_numbers.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/27 10:59:11 by gtertysh #+# #+# */
/* Updated: 2016/10/27 11:40:34 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_print_numbers(void)
{
char z;
z = '0';
while (z <= '9')
{
ft_putchar(z);
z = z + 1;
}
}

25
d02/ex03/ft_is_negative.c Normal file
View file

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_is_negative.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/27 10:59:43 by gtertysh #+# #+# */
/* Updated: 2016/10/27 20:23:36 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_is_negative(int n)
{
if (n >= 0)
{
ft_putchar('P');
}
else
{
ft_putchar('N');
}
}

49
d02/ex04/ft_print_comb.c Normal file
View file

@ -0,0 +1,49 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_print_comb.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/27 10:26:03 by gtertysh #+# #+# */
/* Updated: 2016/10/27 11:46:09 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_putnumb(char a, char b, char c)
{
ft_putchar(a);
ft_putchar(b);
ft_putchar(c);
if (!(a == '7' && b == '8' && c == '9'))
{
ft_putchar(',');
ft_putchar(' ');
}
}
void ft_print_comb(void)
{
int a;
int b;
int c;
a = 0;
while (a <= 7)
{
b = a + 1;
while (b <= 8)
{
c = b + 1;
while (c <= 9)
{
ft_putnumb(a + '0', b + '0', c + '0');
c++;
}
b++;
}
a++;
}
}

38
d02/ex06/ft_putnbr.c Normal file
View file

@ -0,0 +1,38 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putnbr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/27 17:17:51 by gtertysh #+# #+# */
/* Updated: 2016/10/27 21:46:40 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_printnbr(int nb)
{
int temp;
long div;
temp = nb;
div = 1;
if (nb < 0)
{
nb = -nb;
ft_putchar('-');
}
while (temp)
{
temp = temp / 10;
div = div * 10;
}
while (div > 1)
{
div = div / 10;
ft_putchar(nb / div + '0');
nb = nb % div;
}
}

16
d03/ex00/ft_ft.c Normal file
View file

@ -0,0 +1,16 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft-ft.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/27 12:09:16 by gtertysh #+# #+# */
/* Updated: 2016/11/03 12:29:49 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
void ft_ft(int *nbr)
{
*nbr = 42;
}

16
d03/ex01/ft_ultimate_ft.c Normal file
View file

@ -0,0 +1,16 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_ultimate_ft.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 09:49:54 by gtertysh #+# #+# */
/* Updated: 2016/10/28 19:17:24 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
void ft_ultimate_ft(int *********nbr)
{
*********nbr = 42;
}

20
d03/ex02/ft_swap.c Normal file
View file

@ -0,0 +1,20 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_swap.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 10:08:34 by gtertysh #+# #+# */
/* Updated: 2016/10/28 10:14:17 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
void ft_swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}

BIN
d03/ex03/ft_div_mod Executable file

Binary file not shown.

17
d03/ex03/ft_div_mod.c Normal file
View file

@ -0,0 +1,17 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_div_mod.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 10:16:49 by gtertysh #+# #+# */
/* Updated: 2016/10/28 10:28:23 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
void ft_div_mod(int a, int b, int *div, int *mod)
{
*div = a / b;
*mod = a % b;
}

View file

@ -0,0 +1,20 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_ultimate_div_mode.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 10:30:17 by gtertysh #+# #+# */
/* Updated: 2016/10/28 21:17:48 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
void ft_ultimate_div_mod(int *a, int *b)
{
int temp;
temp = *a / *b;
*b = *a % *b;
*a = temp;
}

22
d03/ex05/ft_putstr.c Normal file
View file

@ -0,0 +1,22 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putstr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 10:45:38 by gtertysh #+# #+# */
/* Updated: 2016/10/28 11:09:43 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_putstr(char *str)
{
while (*str != '\0')
{
ft_putchar(*str);
str++;
}
}

24
d03/ex06/ft_strlen.c Normal file
View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlen.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 11:13:17 by gtertysh #+# #+# */
/* Updated: 2016/10/28 11:26:18 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_strlen(char *str)
{
int count;
count = 0;
while (*str != '\0')
{
count++;
str++;
}
return (count);
}

37
d03/ex07/ft_strrev.c Normal file
View file

@ -0,0 +1,37 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strrev.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 11:30:14 by gtertysh #+# #+# */
/* Updated: 2016/10/28 21:01:27 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
char *ft_strrev(char *str)
{
int count;
int char_numb;
char *temp_ptr;
char temp;
count = 0;
char_numb = 0;
temp_ptr = str;
while (*temp_ptr != '\0')
{
char_numb++;
temp_ptr++;
}
while (char_numb > count)
{
temp = *(str + char_numb - 1);
*(str + char_numb - 1) = *(str + count);
*(str + count) = temp;
count++;
char_numb--;
}
return (str);
}

24
d03/ex08/ft_atoi.c Normal file
View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_atoi.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 12:27:05 by gtertysh #+# #+# */
/* Updated: 2016/10/28 21:02:24 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_atoi(char *p)
{
int numb;
numb = 0;
while (*p != '\0')
{
numb = numb * 10 + (*p) - '0';
p++;
}
return (numb);
}

View file

@ -0,0 +1,40 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_sort_integer_table.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/29 10:16:57 by gtertysh #+# #+# */
/* Updated: 2016/10/29 12:03:44 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
void ft_sort_integer_table(int *tab, int size)
{
int temp;
int i;
int a;
int swapped;
i = 0;
a = 0;
while(i < size - 1)
{
swapped = 0;
while(a < size - 1 - i)
{
if (*(tab + a) > *(tab + a + 1))
{
temp = *(tab + a);
*(tab + a) = *(tab + a + 1);
*(tab + a + 1) = temp;
swapped = 1;
}
a++;
}
i++;
if(!swapped)
break;
}
}

View file

@ -0,0 +1,31 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_iterative_factorial.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 15:38:54 by gtertysh #+# #+# */
/* Updated: 2016/10/31 15:38:59 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_iterative_factorial(int nb)
{
int fac;
fac = 1;
if (nb > 12 || nb < 0)
{
return (0);
}
else
{
while (nb > 0)
{
fac *= nb;
nb--;
}
}
return (fac);
}

View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_recursive_factorial.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/29 12:29:58 by gtertysh #+# #+# */
/* Updated: 2016/10/29 14:34:23 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_recursive_factorial(int nb)
{
if (nb < 0 || nb > 12)
{
return (0);
}
else if (nb >= 1 && nb <= 12)
{
return (nb *= ft_recursive_factorial(nb - 1));
}
return (1);
}

View file

@ -0,0 +1,32 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_iterative_power.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/29 14:35:08 by gtertysh #+# #+# */
/* Updated: 2016/10/29 14:56:28 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_iterative_power(int nb, int power)
{
int result;
if (power < 0)
{
return (0);
}
else if (power == 0)
{
return (1);
}
result = nb;
while (power > 1)
{
result *= nb;
power--;
}
return (result);
}

View file

@ -0,0 +1,25 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_recursive_power.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/29 14:57:08 by gtertysh #+# #+# */
/* Updated: 2016/10/31 15:46:31 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_recursive_power(int nb, int power)
{
if (power < 0)
{
return (0);
}
else if (power == 0)
{
return (1);
}
nb = ft_recursive_power(nb, power - 1) * nb;
return (nb);
}

23
d04/ex04/ft_fibonacci.c Normal file
View file

@ -0,0 +1,23 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_fibonacci.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/29 15:51:02 by gtertysh #+# #+# */
/* Updated: 2016/10/29 17:46:07 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_fibonacci(int index)
{
if (index < 0)
return (-1);
else if (index == 0)
return (0);
else if (index == 1)
return (1);
else
return (ft_fibonacci(index - 1) + ft_fibonacci(index - 2));
}

24
d04/ex05/ft_sqrt.c Normal file
View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_sqrt.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/29 17:56:37 by gtertysh #+# #+# */
/* Updated: 2016/10/29 21:53:31 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_sqrt(int numb)
{
int i;
i = 0;
while (i * i < nb)
i++;
if (i * i == nb)
return (i);
else
return (0);
}

32
d04/ex06/ft_is_prime.c Normal file
View file

@ -0,0 +1,32 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_is_prime.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/29 20:00:31 by gtertysh #+# #+# */
/* Updated: 2016/10/29 22:06:27 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_is_prime(int nb)
{
int i;
i = 2;
if (nb < 0)
return (0);
else if (nb < 3)
return (0);
else
{
while (i < nb / 2)
{
if (nb % i == 0)
return (0);
i++;
}
}
return (1);
}

22
d05/ex00/ft_putstr.c Normal file
View file

@ -0,0 +1,22 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putstr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 09:40:45 by gtertysh #+# #+# */
/* Updated: 2016/10/31 13:05:42 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_putstr(char *str)
{
while (*str != '\0')
{
ft_putchar(*str);
str++;
}
}

58
d05/ex01/ft_putnbr.c Normal file
View file

@ -0,0 +1,58 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putnbr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 09:45:39 by gtertysh #+# #+# */
/* Updated: 2016/10/31 21:20:20 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_putnbr_print(int nb, long div, int exeption)
{
if (nb < 0)
{
nb = -nb;
ft_putchar('-');
}
if (div == 1)
ft_putchar('0');
else
{
while (div > 1)
{
div = div / 10;
ft_putchar(nb / div + '0');
nb = nb % div;
}
}
if (exeption)
ft_putchar('8');
}
void ft_putnbr(int nb)
{
int temp;
long div;
int exeption;
div = 1;
exeption = 0;
temp = nb;
if (nb == -2147483648)
{
nb = nb / 10;
temp = temp / 10;
exeption = 1;
}
while (temp)
{
temp = temp / 10;
div = div * 10;
}
ft_putnbr_print(nb, div, exeption);
}

36
d05/ex02/ft_atoi.c Normal file
View file

@ -0,0 +1,36 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_atoi.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 10:27:11 by gtertysh #+# #+# */
/* Updated: 2016/10/31 16:43:18 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_atoi(char *str)
{
int numb;
int is_negative;
numb = 0;
while (*str < 33)
str++;
if (*str == '-')
{
is_negative = 1;
str++;
}
if (*str == '+')
str++;
while (*str >= '0' && *str <= '9' && *str != '\0')
{
numb = numb * 10 + *str - '0';
str++;
}
if (is_negative)
return (-numb);
return (numb);
}

26
d05/ex03/ft_strcpy.c Normal file
View file

@ -0,0 +1,26 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strcpy.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 16:46:21 by gtertysh #+# #+# */
/* Updated: 2016/10/31 16:46:57 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
char *ft_strcpy(char *dest, char *src)
{
char *start;
start = dest;
while (*src != '\0')
{
*dest = *src;
dest++;
src++;
}
*dest = '\0';
return (start);
}

29
d05/ex04/ft_strncpy.c Normal file
View file

@ -0,0 +1,29 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strncpy.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 16:59:01 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:11:02 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
char *ft_strncpy(char *dest, char *src, unsigned int n)
{
char *start;
unsigned int i;
start = dest;
i = 0;
while (i < n && *src)
{
*dest = *src;
dest++;
src++;
i++;
}
*dest = '\0';
return (start);
}

33
d05/ex05/ft_strstr.c Normal file
View file

@ -0,0 +1,33 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strstr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 17:47:48 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:11:37 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
char *ft_strstr(char *str, char *to_find)
{
char *start;
char *find;
find = to_find;
while (*str != '\0')
{
start = str;
find = to_find;
while (*str != '\0' && *find != '\0' && *str == *find)
{
str++;
find++;
}
if (*find == '\0')
return (start);
str++;
}
return (0);
}

23
d05/ex06/ft_strcmp.c Normal file
View file

@ -0,0 +1,23 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strcmp.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 18:55:03 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:01:13 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_strcmp(char *s1, char *s2)
{
while (*s1 && *s2 && *s1 == *s2)
{
s1++;
s2++;
}
if (*s1 == '\0')
return (0);
return (*s1 - *s2);
}

26
d05/ex07/ft_strncmp.c Normal file
View file

@ -0,0 +1,26 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strncmp.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 12:04:56 by gtertysh #+# #+# */
/* Updated: 2016/11/01 12:05:00 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_strncmp(char *s1, char *s2, unsigned int n)
{
while (*s1 && *s1 == *s2 && n > 0)
{
s1++;
s2++;
n--;
}
if (n == 0)
return (0);
else
return (*s1 - *s2);
return (0);
}

28
d05/ex08/ft_strupcase.c Normal file
View file

@ -0,0 +1,28 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_struocase.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 12:11:35 by gtertysh #+# #+# */
/* Updated: 2016/11/01 12:50:51 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
char *ft_strupcase(char *str)
{
char *counter;
counter = str;
while (*counter)
{
if (*counter >= 'a' && *counter <= 'z')
{
*counter -= 32;
}
counter++;
}
*counter = '\0';
return (str);
}

28
d05/ex09/ft_strlowcase.c Normal file
View file

@ -0,0 +1,28 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlowcase.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 12:29:16 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:11:55 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
char *ft_strlowcase(char *str)
{
char *counter;
counter = str;
while (*counter)
{
if (*counter >= 'A' && *counter <= 'Z')
{
*counter += 32;
}
counter++;
}
*counter = '\0';
return (str);
}

View file

@ -0,0 +1,46 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strcapitalize.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 13:46:20 by gtertysh #+# #+# */
/* Updated: 2016/11/02 16:19:05 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
void to_lowercase(char *str)
{
while (*str)
{
if (*str >= 'A' && *str <= 'B')
{
*str += 32;
}
str++;
}
}
char *ft_strcapitalize(char *str)
{
char *begin;
begin = str;
to_lowercase(str);
while (*str)
{
if (*str >= 'a' && *str <= 'z')
{
if (*(str - 1) >= 'z')
*str -= 32;
if (*(str - 1) <= 'A')
*str -= 32;
if (*(str - 1) >= '0' && *(str - 1) <= '9')
*str += 32;
}
str++;
}
*str = '\0';
return (begin);
}

View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_str_is_alpha.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 16:19:48 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:14:31 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_str_is_alpha(char *str)
{
if (!*str)
return (1);
while (*str)
{
if (!((*str >= 'A' && *str <= 'Z') || (*str >= 'a' && *str <= 'z')))
return (0);
str++;
}
return (1);
}

View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_str_is_numeric.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 16:36:35 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:14:51 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_str_is_numeric(char *str)
{
if (!*str)
return (1);
while (*str)
{
if (!(*str >= '0' && *str <= '9'))
return (0);
str++;
}
return (1);
}

View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_str_is_lowercase.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 16:45:43 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:15:05 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_str_is_lowercase(char *str)
{
if (!*str)
return (1);
while (*str)
{
if (!(*str >= 'a' && *str <= 'z'))
return (0);
str++;
}
return (1);
}

View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_str_is_uppercase.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 16:51:15 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:15:29 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_str_is_uppercase(char *str)
{
if (!*str)
return (1);
while (*str)
{
if (!(*str >= 'A' && *str <= 'Z'))
return (0);
str++;
}
return (1);
}

View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_str_is_printable.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 16:56:24 by gtertysh #+# #+# */
/* Updated: 2016/11/01 17:00:42 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_str_is_printable(char *str)
{
if (!*str)
return (1);
while (*str)
{
if (!(*str >= 32 && *str <= 127))
return (0);
str++;
}
return (1);
}

30
d05/ex16/ft_strcat.c Normal file
View file

@ -0,0 +1,30 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strcat.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/01 17:06:09 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:44:47 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
char *ft_strcat(char *dest, char *src)
{
char *begin;
begin = dest;
while (*dest)
{
dest++;
}
while (*src)
{
*dest = *src;
dest++;
src++;
}
*dest = '\0';
return (begin);
}

19
d06/ex00/ft_putchar.c Normal file
View file

@ -0,0 +1,19 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putchar.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/02 10:53:07 by gtertysh #+# #+# */
/* Updated: 2016/11/02 10:55:51 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <unistd.h>
int ft_putchar(char c)
{
write(1, &c, 1);
return (0);
}

22
d06/ex00/ft_putstr.c Normal file
View file

@ -0,0 +1,22 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_putstr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 09:40:45 by gtertysh #+# #+# */
/* Updated: 2016/10/31 13:05:42 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_putstr(char *str)
{
while (*str != '\0')
{
ft_putchar(*str);
str++;
}
}

23
d06/ex00/ft_strcmp.c Normal file
View file

@ -0,0 +1,23 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strcmp.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/31 18:55:03 by gtertysh #+# #+# */
/* Updated: 2016/11/01 20:01:13 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_strcmp(char *s1, char *s2)
{
while (*s1 && *s2 && *s1 == *s2)
{
s1++;
s2++;
}
if (*s1 == '\0')
return (0);
return (*s1 - *s2);
}

24
d06/ex00/ft_strlen.c Normal file
View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlen.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 11:13:17 by gtertysh #+# #+# */
/* Updated: 2016/10/28 11:26:18 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_strlen(char *str)
{
int count;
count = 0;
while (*str != '\0')
{
count++;
str++;
}
return (count);
}

20
d06/ex00/ft_swap.c Normal file
View file

@ -0,0 +1,20 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_swap.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/10/28 10:08:34 by gtertysh #+# #+# */
/* Updated: 2016/10/28 10:14:17 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
void ft_swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}

15
d06/ex00/libft_creator.sh Executable file
View file

@ -0,0 +1,15 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# libft_creator.sh :+: :+: :+: #
# +:+ +:+ +:+ #
# By: gtertysh <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2016/11/02 12:08:36 by gtertysh #+# #+# #
# Updated: 2016/11/02 19:05:47 by gtertysh ### ########.fr #
# #
# **************************************************************************** #
gcc -c ./*.c
ar cr libft.a ./*.o
rm ./*.o

View file

@ -0,0 +1,30 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_print_program_name.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/02 12:58:06 by gtertysh #+# #+# */
/* Updated: 2016/11/02 19:06:48 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_putstr(char *str)
{
while (*str)
{
ft_putchar(*str);
str++;
}
}
int main(int argc, char **argv)
{
argc = -argc;
ft_putstr(argv[0]);
ft_putchar('\n');
return (0);
}

View file

@ -0,0 +1,36 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_print_params.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/02 15:59:02 by gtertysh #+# #+# */
/* Updated: 2016/11/02 19:07:16 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_putstr(char *str)
{
while (*str)
{
ft_putchar(*str);
str++;
}
}
int main(int argc, char **argv)
{
int i;
i = 1;
while (i < argc)
{
ft_putstr(argv[i]);
ft_putchar('\n');
i++;
}
return (0);
}

32
d06/ex03/ft_rev_params.c Normal file
View file

@ -0,0 +1,32 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_rev_params.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/02 16:16:06 by gtertysh #+# #+# */
/* Updated: 2016/11/02 19:08:19 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_putstr(char *str)
{
while (*str)
{
ft_putchar(*str);
str++;
}
}
int main(int argc, char **argv)
{
while (argc-- > 1)
{
ft_putstr(argv[argc]);
ft_putchar('\n');
}
return (0);
}

74
d06/ex04/ft_sort_params.c Normal file
View file

@ -0,0 +1,74 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_sort_params.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/02 16:33:17 by gtertysh #+# #+# */
/* Updated: 2016/11/02 19:02:25 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_putchar(char c);
void ft_putstr(char *str)
{
while (*str)
{
ft_putchar(*str);
str++;
}
}
void print_argv(int argc, char **argv)
{
int i;
i = 1;
while (i < argc)
{
ft_putstr(argv[i]);
ft_putchar('\n');
i++;
}
}
int cmp(char *s1, char *s2)
{
while (*s1 && s2 && *s1 == *s2)
{
s1++;
s2++;
}
if (!*s1)
return (0);
return (*s1 - *s2);
}
int main(int argc, char **argv)
{
int i;
int j;
char *temp;
i = 1;
j = 1;
while (i < argc)
{
j = 1;
while (j < argc - 1)
{
if (cmp(argv[j], argv[j + 1]) > 0)
{
temp = argv[j];
argv[j] = argv[j + 1];
argv[j + 1] = temp;
}
j++;
}
i++;
}
print_argv(argc, argv);
return (0);
}

38
d07/ex00/ft_strdup.c Normal file
View file

@ -0,0 +1,38 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strdup.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/02 20:38:00 by gtertysh #+# #+# */
/* Updated: 2016/11/04 02:41:29 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
char *ft_strdup(char *src)
{
int size;
int i;
char *new_str;
char *begin;
begin = src;
size = 0;
while (*src != '\0')
{
src++;
size++;
}
new_str = (char*)malloc(sizeof(*new_str) * (size + 1));
i = 0;
while (i <= size)
{
new_str[i] = begin[i];
i++;
}
new_str[i] = '\0';
return (new_str);
}

30
d07/ex01/ft_range.c Normal file
View file

@ -0,0 +1,30 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_range.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/03 10:45:07 by gtertysh #+# #+# */
/* Updated: 2016/11/03 18:58:22 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
int *ft_range(int min, int max)
{
int *array;
int i;
if (min >= max)
return (0);
array = (int*)malloc(sizeof(int*) * (max - min));
i = 0;
while (i < max - min)
{
array[i] = min + i;
i++;
}
return (array);
}

View file

@ -0,0 +1,34 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_ultimate_range.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/03 11:21:09 by gtertysh #+# #+# */
/* Updated: 2016/11/03 21:53:42 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
int ft_ultimate_range(int **range, int min, int max)
{
int i;
int *new_array;
i = 0;
if (min >= max)
{
*range = 0;
return (0);
}
new_array = (int*)malloc(sizeof(int) * (max - min));
while (i < max - min)
{
new_array[i] = min + i;
i++;
}
*range = new_array;
return (max - min);
}

View file

@ -0,0 +1,71 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_concat_params.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/03 15:34:16 by gtertysh #+# #+# */
/* Updated: 2016/11/03 19:20:40 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
int count_chars(int argc, char **argv)
{
int i;
int j;
int chars;
i = 1;
j = 0;
chars = 0;
while (i < argc)
{
j = 0;
while (argv[i][j])
{
j++;
chars++;
}
i++;
}
return (chars);
}
void fill_string(int argc, char **argv, char *concat)
{
int i;
int j;
int c;
i = 1;
j = 0;
c = 0;
while (i < argc)
{
j = 0;
while (argv[i][j] != '\0')
{
concat[c] = argv[i][j];
j++;
c++;
}
concat[c] = '\n';
c++;
i++;
}
concat[--c] = '\0';
}
char *ft_concat_params(int argc, char **argv)
{
char *concat;
int chars;
chars = count_chars(argc, argv);
concat = (char*)malloc(sizeof(char) * (chars + argc));
fill_string(argc, argv, concat);
return (concat);
}

View file

@ -0,0 +1,91 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_split_whitespaces.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/05 12:42:22 by gtertysh #+# #+# */
/* Updated: 2016/11/08 12:01:19 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
#include <stdio.h>
char **ft_split_whitespaces(char *str)
{
char **table;
char *str_begin;
int words;
int word_exist;
int chars_in_word;
int word_position;
int char_position;
// count words in string
str_begin = str;
words = 0;
while (*str)
{
while (*str == ' ' || *str == '\t' || *str == '\n')
str++;
word_exist = 0;
while (*str != ' ' && *str != '\t' && *str != '\n' && *str)
{
str++;
word_exist = 1;
}
if (word_exist)
words++;
}
// allocate memory for word pointers
table = (char **)malloc(sizeof(char *) * (words + 1));
// count chars in word, allocate memory for current word
// and fill allocated memory
str = str_begin;
word_position = 0;
while (*str)
{
while (*str == ' ' || *str == '\t' || *str == '\n')
str++;
chars_in_word = 0;
while (*str != ' ' && *str != '\t' && *str != '\n' && *str)
{
str++;
chars_in_word++;
}
table[word_position] = (char *)malloc(sizeof(char) * (chars_in_word + 1));
if (!chars_in_word)
break;
char_position = 0;
while (chars_in_word)
{
table[word_position][char_position] = *(str - chars_in_word);
chars_in_word--;
char_position++;
}
table[word_position][char_position] = '\0';
word_position++;
}
printf("%d\n", word_position);
table[word_position] = 0;
return (table);
}
int main(int argc, char **argv)
{
char **a;
int i;
i = 0;
//a = ft_split_whitespaces(argv[1]);
a = ft_split_whitespaces("a1 234 ");
while (a[i])
{
printf("%s\n", a[i++]);
}
return(0);
}

View file

@ -0,0 +1,74 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_split_whitespaces.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/05 12:42:22 by gtertysh #+# #+# */
/* Updated: 2016/11/06 17:47:48 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
#include <stdio.h>
char **ft_split_whitespaces(char *str)
{
char **table;
char *str_begin;
int words;
int word_exist;
int chars_in_word;
int word_position;
// count words in string
str_begin = str;
words = 0;
while (*str)
{
while (*str == ' ' || *str == '\t' || *str == '\n')
str++;
word_exist = 0;
while (*str != ' ' && *str != '\t' && *str != '\n' && *str)
{
str++;
word_exist = 1;
}
if (word_exist)
words++;
}
// allocate memory for word pointers
table = (char **)malloc(sizeof(char *) * (words + 1));
// count chars in word, allocate memory for current word
// and fill allocated memory
str = str_begin;
while (*str)
{
word_position = 0;
while (*str == ' ' || *str == '\t' || *str == '\n')
str++;
chars_in_word = 0;
while (*str != ' ' && *str != '\t' && *str != '\n' && *str)
{
str++;
chars_in_word++;
}
table[word_position] = (char *)malloc(sizeof(char) * (chars_in_word + 1));
while(chars_in_word)
{}
printf("%d\n", chars_in_word);
}
printf("%d\n", words);
return (table);
}
int main(void)
{
char **a;
a = ft_split_whitespaces(" asfa asfa saf af ");
return(0);
}

View file

@ -0,0 +1,104 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_split_whitespaces.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/05 12:42:22 by gtertysh #+# #+# */
/* Updated: 2016/11/06 13:40:45 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
#include <stdio.h>
void table_mem(char *string, char ***table)
{
int word_exist;
int words;
words = 0;
while (*string)
{
while (*string == ' ' || *string == '\t' || *string == '\n')
string++;
word_exist = 0;
while (*string != ' ' && *string != '\t' && *string != '\n' && *string)
{
string++;
word_exist = 1;
}
if (word_exist)
words++;
}
*table = (char **)malloc(sizeof(char *) * (words + 1));
}
int word_mem(char **table, int word_index, int char_in_word)
{
table[word_index] = (char *)malloc(sizeof(char) * (char_in_word + 1));
if (char_in_word != 0)
{
return (1);
}
else
{
table[word_index] = 0;
return (0);
}
}
int count_chars(char **begin, char **word_begin)
{
int char_in_word;
while (**begin == ' ' || **begin == '\t' || **begin == '\n')
(*begin)++;
char_in_word = 0;
*word_begin = *begin;
while (**begin != ' ' && **begin != '\t' && **begin != '\n' && **begin)
{
(*begin)++;
char_in_word++;
}
return (char_in_word);
}
char **ft_split_whitespaces(char *str)
{
char **table;
int char_in_word;
int word_index;
int char_index;
char *word_begin;
word_index = 0;
char_index = 0;
table_mem(str, &table);
while (*str)
{
char_in_word = count_chars(&str, &word_begin);
word_mem(table, word_index, char_in_word);
char_index = 0;
while (char_in_word--)
{
table[word_index][char_index++] = *word_begin;
word_begin++;
}
table[word_index][char_index] = '\0';
word_index++;
}
return (table);
}
int main(void)
{
char **a;
int i;
i = 0;
a = ft_split_whitespaces(" asfa asfa saf af ");
printf("%s\n", a[2]);
return(0);
}

38
d08/ex01/ft.h Normal file
View file

@ -0,0 +1,38 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/02 11:27:59 by gtertysh #+# #+# */
/* Updated: 2016/11/05 22:38:32 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef FT_H
# define FT_H
int ft_putchar(char c);
void ft_swap(int *a, int *b);
char *ft_strupcase(char *str);
char *ft_strstr(char *str, char *to_find);
char *ft_strncpy(char *dest, char *src, unsigned int n);
int ft_strncmp(char *s1, char *s2, unsigned int n);
char *ft_strlowcase(char *str);
int ft_strlen(char *str);
char *ft_strcpy(char *dest, char *src);
int ft_strcmp(char *s1, char *s2);
char *ft_strcat(char *dest, char *src);
char *ft_strcapitalize(char *str);
void to_lowercase(char *str);
int ft_str_is_uppercase(char *str);
int ft_str_is_printable(char *str);
int ft_str_is_numeric(char *str);
int ft_str_is_lowercase(char *str);
int ft_str_is_alpha(char *str);
void ft_putstr(char *str);
void ft_putnbr(int nb);
int ft_atoi(char *str);
#endif

26
d08/ex02/ft_boolean.h Normal file
View file

@ -0,0 +1,26 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_boolean.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/05 22:04:48 by gtertysh #+# #+# */
/* Updated: 2016/11/05 22:38:43 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef FT_BOOLEAN_H
# define FT_BOOLEAN_H
# include <unistd.h>
# define TRUE 1
# define FALSE 0
# define SUCCESS 0
# define EVEN_MSG "I have an even number of arguments.\n"
# define ODD_MSG "I have an odd number of arguments.\n"
# define EVEN(x) (!(x % 2))
typedef int t_bool;
#endif

18
d08/ex03/ft_abs.h Normal file
View file

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_abs.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/05 22:32:24 by gtertysh #+# #+# */
/* Updated: 2016/11/05 22:34:24 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef FT_ABS_H
# define FT_ABS_H
# define ABS(Value) ((Value < 0) ? -Value : Value)
#endif

22
d08/ex04/ft_point.h Normal file
View file

@ -0,0 +1,22 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_point.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/05 22:35:46 by gtertysh #+# #+# */
/* Updated: 2016/11/05 22:38:05 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef FT_POINT_H
# define FT_POINT_H
typedef struct s_point
{
int x;
int y;
} t_point;
#endif

18
d09/ex00/ft_generic.c Normal file
View file

@ -0,0 +1,18 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_generic.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/03 17:52:10 by gtertysh #+# #+# */
/* Updated: 2016/11/04 02:17:31 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <unistd.h>
void ft_generic(void)
{
write(1, "Tu tu tu tu ; Tu tu tu tu\n", 26);
}

32
d09/ex01/ft_takes_place.c Normal file
View file

@ -0,0 +1,32 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_takes_place.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/03 19:21:39 by gtertysh #+# #+# */
/* Updated: 2016/11/04 02:01:32 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdio.h>
void ft_take_place(int hour)
{
char *a;
a = "THE FOLLOWING TAKES PLACE BETWEEN ";
if (hour == 0)
printf("%s12.00 A.M. AND 1.00 A.M\n", a);
else if (hour == 23)
printf("%s11.00 P.M. AND 12.00 A.M\n", a);
else if (hour == 11)
printf("%s11.00 A.M. AND 12.00 P.M\n", a);
else if (hour == 12)
printf("%s12.00 P.M. AND 1.00 P.M\n", a);
else if (hour > 12)
printf("%s%d.00 P.M. AND %d.00 P.M\n", a, hour - 12, hour - 12 + 1);
else
printf("%s%d.00 A.M. AND %d.00 A.M\n", a, hour, hour + 1);
}

13
d09/ex02/find_nicolas_bomber.sh Executable file
View file

@ -0,0 +1,13 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# find_nicolas_bomber.sh :+: :+: :+: #
# +:+ +:+ +:+ #
# By: gtertysh <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2016/11/03 20:27:43 by gtertysh #+# #+# #
# Updated: 2016/11/04 02:01:26 by gtertysh ### ########.fr #
# #
# **************************************************************************** #
cat $1 | grep -i ^nicolas | cut -d $'\t' -f2- | grep -i ^bomber | cut -d$'\t' -f2 | grep [0-9]

14
d09/ex03/defuse.sh Executable file
View file

@ -0,0 +1,14 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# defuse.sh :+: :+: :+: #
# +:+ +:+ +:+ #
# By: gtertysh <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2016/11/03 21:41:01 by gtertysh #+# #+# #
# Updated: 2016/11/04 02:01:19 by gtertysh ### ########.fr #
# #
# **************************************************************************** #
LAST_ACCESS_TIME=$(stat -f %a bomb.txt)
echo "$LAST_ACCESS_TIME - 1" | bc

27
d09/ex04/ft_rot42.c Normal file
View file

@ -0,0 +1,27 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_rot42.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/03 21:58:10 by gtertysh #+# #+# */
/* Updated: 2016/11/04 02:01:11 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
char *ft_rot42(char *str)
{
char *begin;
begin = str;
while (*str)
{
if (*str >= 'A' && *str <= 'Z')
*str = (*str - 65 + 42) % 26 + 65;
else if (*str >= 'a' && *str <= 'z')
*str = (*str - 97 + 42) % 26 + 97;
str++;
}
return (begin);
}

39
d09/ex05/ft_button.c Normal file
View file

@ -0,0 +1,39 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_button.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/03 22:46:07 by gtertysh #+# #+# */
/* Updated: 2016/11/03 23:15:53 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
int ft_button(int i, int j, int k)
{
int temp[3];
int x;
int swap;
x = 0;
temp[0] = i;
temp[1] = j;
temp[2] = k;
while (x < 3)
{
j = 0;
while (j < 2)
{
if (temp[j] > temp[j + 1])
{
swap = temp[j];
temp[j] = temp[j + 1];
temp[j + 1] = swap;
}
j++;
}
x++;
}
return (temp[1]);
}

28
d09/ex06/ft_destroy.c Normal file
View file

@ -0,0 +1,28 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_destroy.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/03 23:41:05 by gtertysh #+# #+# */
/* Updated: 2016/11/04 04:01:33 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
#include "ft_ultimator.h"
void ft_destroy(char ***factory)
{
while (*factory != 0)
{
while (**factory != 0)
{
free(**factory);
**factory++;
}
free(*factory);
*factory++;
}
}

View file

@ -0,0 +1,24 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_collatz_conjecture.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/04 01:39:43 by gtertysh #+# #+# */
/* Updated: 2016/11/04 04:01:26 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
unsigned int ft_collatz_conjecture(unsigned int base)
{
static unsigned int i = 0;
i++;
if (base == 1)
return (i);
else if (base % 2 == 0)
return (ft_collatz_conjecture(base / 2));
else
return (ft_collatz_conjecture(base * 3 + 1));
}

81
d09/ex08/ft_spy.c Normal file
View file

@ -0,0 +1,81 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_spy.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gtertysh <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2016/11/04 01:58:29 by gtertysh #+# #+# */
/* Updated: 2016/11/04 04:01:16 by gtertysh ### ########.fr */
/* */
/* ************************************************************************** */
#include <unistd.h>
void ft_putstr(char *str)
{
while (*str)
{
write(1, str, 1);
str++;
}
}
void low(char *str)
{
while (*str)
{
if (*str >= 'A' && *str <= 'Z')
{
*str += 32;
}
str++;
}
}
int is_alert(char *str, char *find)
{
while (*str == ' ' || *str == '\t')
str++;
while (*str && *find && *str == *find)
{
str++;
find++;
}
if (*find == '\0' && (*str == '\0' || *str < 33))
{
return (1);
}
else
return (0);
}
void ft_spy(int argc, char **argv)
{
int i;
int j;
char *a;
char *b;
char *c;
a = "president";
b = "attack";
c = "powers";
i = 1;
j = 0;
while (i < argc)
{
low(argv[i]);
if (is_alert(argv[i], a) ||
is_alert(argv[i], b) ||
is_alert(argv[i], c))
ft_putstr("Alert!!!\n");
i++;
}
}
int main(int argc, char **argv)
{
ft_spy(argc, argv);
return (0);
}

21
d09/ex09/where_am_i.sh Normal file
View file

@ -0,0 +1,21 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# where_am_i.sh :+: :+: :+: #
# +:+ +:+ +:+ #
# By: gtertysh <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2016/11/04 03:35:14 by gtertysh #+# #+# #
# Updated: 2016/11/04 04:01:02 by gtertysh ### ########.fr #
# #
# **************************************************************************** #
IPS=$(ifconfig | grep "inet " | cut -d " " -f2)
if [ -z "$IPS" ]
then
echo "Je suis perdu!"
else
echo $IPS | tr " " "\n"
fi

Some files were not shown because too many files have changed in this diff Show more