ex05 final
This commit is contained in:
parent
1db4db9d61
commit
5cc9a9fdc5
|
@ -1,4 +1,4 @@
|
|||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
unsigned int char_count(const char *str, char c)
|
||||
{
|
||||
|
@ -55,11 +55,11 @@ int ft_atoi_base(char *str, char *base)
|
|||
int index_in_base;
|
||||
unsigned int base_len;
|
||||
|
||||
abs = 0;
|
||||
sign = 1;
|
||||
base_len = is_valid_base(base);
|
||||
if (!base_len)
|
||||
return (0);
|
||||
abs = 0;
|
||||
sign = 1;
|
||||
while (*str == ' '
|
||||
|| *str == '\t'
|
||||
|| *str == '\n'
|
||||
|
@ -72,9 +72,10 @@ int ft_atoi_base(char *str, char *base)
|
|||
if (*str++ == '-')
|
||||
sign *= -1;
|
||||
index_in_base = char_index(base, *str);
|
||||
while (index_in_base)
|
||||
while (index_in_base >= 0)
|
||||
{
|
||||
abs = abs * base_len + index_in_base;
|
||||
++str;
|
||||
index_in_base = char_index(base, *str);
|
||||
}
|
||||
return (sign * abs);
|
||||
|
@ -83,7 +84,7 @@ int ft_atoi_base(char *str, char *base)
|
|||
#include <stdio.h>
|
||||
#define BASE10 "0123456789"
|
||||
#define BASE2 "01"
|
||||
#define BASE3 "013"
|
||||
#define BASE3 "012"
|
||||
#define BASE9 "012345678"
|
||||
#define BASE11 "0123456789a"
|
||||
#define BASE16 "0123456789abcdef"
|
||||
|
@ -161,6 +162,7 @@ int main(void)
|
|||
input = " +-+-13"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-13"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-13"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
printf("\n");
|
||||
|
||||
base = BASE2;
|
||||
printf("Base: %s\n", base);
|
||||
|
@ -194,7 +196,7 @@ int main(void)
|
|||
input = "1011"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = "1100"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = "1101"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = "2147483647"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = "1111111111111111111111111111111"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 1101"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 1101"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 1101"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
|
@ -228,6 +230,7 @@ int main(void)
|
|||
input = " +-+-1101"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-1101"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-1101"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
printf("\n");
|
||||
|
||||
base = BASE3;
|
||||
printf("Base: %s\n", base);
|
||||
|
@ -295,6 +298,7 @@ int main(void)
|
|||
input = " +-+-111"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-111"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-111"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
printf("\n");
|
||||
|
||||
base = BASE9;
|
||||
printf("Base: %s\n", base);
|
||||
|
@ -362,6 +366,7 @@ int main(void)
|
|||
input = " +-+-13"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-13"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-13"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
printf("\n");
|
||||
|
||||
base = BASE11;
|
||||
printf("Base: %s\n", base);
|
||||
|
@ -396,39 +401,40 @@ int main(void)
|
|||
input = "11"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = "12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = "a02220281"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " a1y"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " a1y"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " a1y"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " a1yc"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " a1yc"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " a1yc"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-+a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-+a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-+a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-a1"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 12y"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 12y"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 12y"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 12yc"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 12yc"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " 12yc"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-+12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-+12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " -+-+12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-12"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
printf("\n");
|
||||
|
||||
base = BASE16;
|
||||
printf("Base: %s\n", base);
|
||||
|
@ -496,6 +502,7 @@ int main(void)
|
|||
input = " +-+-d"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-d"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-d"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
printf("\n");
|
||||
|
||||
base = BASE90;
|
||||
printf("Base: %s\n", base);
|
||||
|
@ -565,4 +572,5 @@ int main(void)
|
|||
input = " +-+-d"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-d"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
input = " +-+-d"; printf("Input: <'%s'>, Output: <%d>\n", input, ft_atoi_base(input, base));
|
||||
printf("\n");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue