Step by step

My diary

...

Search

breakinformation. Powered by Blogger.

Step by step

2018년 12월 14일 금요일

string copy


1234567891011121314151617181920212223#include <stdio.h>#include <stdlib.h> char* String_Copy (char* destination, const char* source); int main (int argc, char** argv) {        char* _String = (char*) calloc (30 + 1, sizeof (char));        String_Copy (_String, "Hello World!!");    printf ("%s\n", _String);        free (_String);        return 0;} char* String_Copy (char* destination, const char* source) {        char* Return_Pointer = destination;    while (*destination++ = *source++);    return (char*) Return_Pointer;}Colored...

ASCII String to integer


12345678910111213141516171819202122232425262728#include <stdio.h>#include <stdbool.h> int _ASCII__String_To_Integer(const char* _String);bool Is_Digit(char character); int main(void) {     int integer = _ASCII__String_To_Integer("12345");    printf("%d\n", integer);     return 0;} int _ASCII__String_To_Integer(const char* _String) {     int Return_Integer = 0;    char element = (char)0;    while (((element = *(_String++)) != (char)0) && Is_Digit(element))        Return_Integer = Return_Integer * 10 + (element - '0');     return Return_Integer;} bool Is_Digit(char character) {     return (character >= (char)48 && character <= (char)57) ? true : false; // 48 = '0', 57 = '9'}Colored...

ASCII String to floating point


12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#include <stdio.h>#include <stdbool.h> float _ASCII__String_To_Floating_Point(const char* _String);bool Is_Digit(char character); int main(void) {     float Floating_Point = _ASCII__String_To_Floating_Point("123.456");    printf("%.3f\n", Floating_Point);     return 0;} float _ASCII__String_To_Floating_Point(const char* _String) {     float Return_Floating_Point = 0.f;    char element = (char)0;    while (((element = *(_String++)) != (char)0) && (Is_Digit(element)))        Return_Floating_Point = Return_Floating_Point * 10.f + (element - '0');     int Exponential_Count = 0;    if (element == '.') {        while (((element = *(_String++)) != (char)0) && (Is_Digit(element))) {             Return_Floating_Point = Return_Floating_Point * 10.f + (element - '0');            Exponential_Count--;        }    }    if (element == 'e' || element == 'E') {         int sign = 1;         element = *_String++;        if (element == '+') element = *_String++;        else if (element == '-') {             element = *_String++;            sign = -1;        }        int index = 0;        while (Is_Digit(element)) {             index = index * 10 + (element - '0');            element = *(_String++);        }        Exponential_Count += index * sign;    }     while (Exponential_Count > 0) {         Return_Floating_Point *= 10.f;        Exponential_Count--;    }    while (Exponential_Count < 0) {         Return_Floating_Point /= 10.f;        Exponential_Count++;    }     return Return_Floating_Point;} bool Is_Digit(char character) {     return (character >= (char)48 && character <= (char)57) ? true : false; // 48 = '0', 57 = '9'}Colored...

Example histogram


1234567891011121314151617181920212223242526272829303132333435363738394041#include <stdio.h>#include <time.h> #define MAXIMUM 30int main (int argc, char** argv) {        int _Array[MAXIMUM] = { 0, };    int Ranges[4][MAXIMUM] = { 0, };        // random    (void) srand ((unsigned int) time ((char) 0));    int Range_Count[4] = { 0, };    int index = 0, _index = 0;    for (index = 0; index < MAXIMUM; index++) {                int Random_Number = rand() % 100 + 1;        _Array[index] = Random_Number;                _index = Range_Count[(int)(Random_Number / 25.001f)]++;            Ranges[(int)(Random_Number / 25.001f)][_index] = Random_Number;    }        // print    for (index = 0; index < MAXIMUM; index++) {                printf ("%d\n", _Array[index]);    }        // histogram    printf ("*** histogram (step size 25) ***\n");    int level = 0, range = 0;    for (level = 0; level < 4; level++) {        for (range = 0; Ranges[level][range] != 0 && range < MAXIMUM; range++) {                        printf ("%4d", Ranges[level][range]);        }        printf ("\n");    }        return 0;}Colored...

2018년 12월 13일 목요일

is prime number


123456789101112131415161718192021222324252627282930#include <stdio.h> int Is_Prime_Number (int number); int main (int argc, char** argv) {        int Positive_Integer = 100;        int loop = 0;    for (loop = 2; loop < Positive_Integer + 1; loop++) {                int Prime_Number = Is_Prime_Number (loop);        if (Prime_Number == 0) continue;        int Next_Prime_Number = Positive_Integer - Prime_Number;        if (Is_Prime_Number (Next_Prime_Number) == 0) continue;        if (Prime_Number > Next_Prime_Number) break;        printf ("%d = %d + %d\n", Positive_Integer, Prime_Number, Next_Prime_Number);    }        return 0;} int Is_Prime_Number (int number) {        int loop = 0;    for (loop = 2; loop <= number / 2; loop++) {        if (number % loop == 0) return 0;    }    return number;}Colored...

2018년 12월 12일 수요일

number of alphabet (small)


123456789101112131415161718192021222324252627#include <stdio.h>#include <string.h> #define ALPHABET_SIZE 26 int main (int argc, char** argv) {        char* sentence = "hello world";    int Lower_Case[ALPHABET_SIZE] = { 0, };        int size = strlen (sentence);    int index = 0;    for (index = 0; index < size; index++) {        if (*(sentence + index) < 'a' && *(sentence + index) > 'z') continue;        Lower_Case[(char) *(sentence + index) - 'a']++;    }        // print    printf ("%s\n", sentence);    for (index = 0; index < ALPHABET_SIZE; index++) {                if (*(Lower_Case + index) == 0) continue;        printf ("%c : %d\n", index + 'a', Lower_Case[index]);    }        return 0;}Colored...

2018년 12월 11일 화요일

linked queue


"linkedqueue.h" 123456789101112131415161718192021222324252627282930313233#ifndef _LINKED_QUEUE_#define _LINKED_QUEUE_ typedef struct Queue_Node_Type {     int data;    struct Queue_Node_Type* Pointer_Next;} Queue_Node; typedef struct Linked_Queue_Type {     int Current_Element_Count;    Queue_Node* Pointer_Front_Node;    Queue_Node* Pointer_Rear_Node;} Linked_Queue; Linked_Queue* Create_Linked_Queue(void);int Enqueue_Linked_Queue(Linked_Queue* Pointer_Queue, Queue_Node element);Queue_Node* Dequeue_Linked_Queue(Linked_Queue* Pointer_Queue);Queue_Node* Peek_Linked_Queue(Linked_Queue* Pointer_Queue);int Is_Linked_Queue_Full(Linked_Queue* Pointer_Queue);int Is_Linked_Queue_Empty(Linked_Queue* Pointer_Queue); #endif // !_LINKED_QUEUE_ #ifndef _COMMON_QUEUE_DEFAULT_#define _COMMON_QUEUE_DEFAULT_ #define TRUE    1#define FALSE    0 #endif // !_COMMON_QUEUE_DEFAULT_ Colored...