1
0
This repository has been archived on 2024-10-25. You can view files and clone it, but cannot push or open issues or pull requests.

110 lines
2.1 KiB
C
Raw Normal View History

2023-08-06 20:12:38 +02:00
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_cut_nbr.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: lvincent <lvincent@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/07/31 19:07:48 by julemart #+# #+# */
/* Updated: 2022/07/31 23:35:38 by lvincent ### ########.fr */
/* */
/* ************************************************************************** */
#include "rush02.h"
char **i_is_1(char **tab, char *nbr)
{
char *temp;
temp = malloc(2);
if (nbr[1] == '1')
{
temp[0] = nbr[1];
temp[1] = nbr[2];
tab = add_tab_str(tab, temp);
}
else if (nbr[1] != '0')
{
temp[0] = nbr[1];
temp[1] = '0';
tab = add_tab_str(tab, temp);
}
return (tab);
}
char **ft_number(char **tab, char *nbr)
{
int i;
char *temp;
i = 0;
temp = malloc(2);
temp[1] = '\0';
while (nbr[i])
{
if (i == 0 && nbr[i] != '0')
{
temp[0] = nbr[i];
tab = add_tab_str(tab, temp);
tab = add_tab_str(tab, "100");
}
else if (i == 1)
{
if (nbr[i] == '1')
i++;
tab = i_is_1(tab, nbr);
}
if (i == 2 && nbr[i] != '0')
{
temp[0] = nbr[i];
tab = add_tab_str(tab, temp);
}
i++;
}
return (tab);
}
char *set_zeros(char *str)
{
int i;
char *test;
i = ft_strlen(str);
if (i % 3 == 1)
{
str = ft_addchar(str, '0');
str = ft_addchar(str, '0');
}
if (i % 3 == 2)
{
str = ft_addchar(str, '0');
}
return (str);
}
char **ft_comp(char *str)
{
int i;
int j;
char *c;
char **tab;
tab = malloc(sizeof(char *));
c = malloc(4);
c[3] = '\0';
j = 0;
i = 0;
while (str[i] != '\0')
{
j = 0;
while (j < 3)
{
c[j] = str[i + j];
j++;
}
tab = ft_number(tab, c);
i += 3;
}
return (tab);
}