Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include "mergesort.h"
- int int_comparator(const void *a, const void *b) {
- return *(int *) b - *(int *) a;
- }
- int char_comparator(const void *a, const void *b) {
- return *(char *) b - *(char *) a;;
- }
- int str_comparator(const void *a, const void *b) {
- return strcmp(a, b);
- }
- int main() {
- int elements;
- int element_size;
- scanf("%d%d", &elements, &element_size);
- void *array = malloc(sizeof(element_size) * elements);
- char argv[50];
- scanf("%c", &argv);
- if (strcmp(argv[0], "int") == 0) {
- int array[50];
- size_t i = 0;
- while (argv[i] != '0') {
- array[i] = atoi(argv[i + 1]);
- i++;
- }
- mergesort(array, elements, element_size, int_comparator);
- for(int i=1; i < sizeof array/sizeof(int); i++){
- printf("%d",array[i]);
- }
- printf("%d",array);
- }
- else if (strcmp(argv[0], "char") == 0) {
- int comparator(const void *a, const void *b) {
- return strcmp(a, b);
- }
- char *array[50];
- size_t i = 0;
- while (argv[i] != '0') {
- array[i] = argv[i + 1];
- i++;
- }
- mergesort(array, elements, element_size, char_comparator);
- for(int i=1; i < sizeof array/sizeof(char); i++){
- printf("%d",array[i]);
- }
- }
- else {
- char *array[50];
- size_t i = 0;
- while (argv[i] != '0') {
- array[i] = argv[i + 1];
- i++;
- }
- mergesort(array, elements, element_size, char_comparator);
- for(int i=1; i < sizeof array/sizeof(char); i++){
- printf("%d",array[i]);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement