Advertisement
TheRandomTroll

Untitled

Apr 5th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.09 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void show_menu();
  5. int *read_array(int *);
  6. void print_array(int *, int);
  7. int biggest_odd(int *, int);
  8. int smallest_even(int *, int);
  9.  
  10. int main()
  11. {
  12.     int size;
  13.     int *arr;
  14.     while (1)
  15.     {
  16.         show_menu();
  17.         int choice;
  18.         scanf("%d", &choice);
  19.         if (choice == 1)
  20.         {
  21.             arr = read_array(&size);
  22.         }
  23.         else if (choice == 2)
  24.         {
  25.             print_array(arr, size);
  26.         }
  27.         else if (choice == 3)
  28.         {
  29.             printf("The biggest odd number is: %d\n", biggest_odd(arr, size));
  30.         }
  31.         else if (choice == 4)
  32.         {
  33.             printf("The smallest even number is: %d\n", smallest_even(arr, size));
  34.         }
  35.         else if (choice == 5)
  36.         {
  37.             return 0;
  38.         }
  39.         else
  40.         {
  41.             printf("Invalid input!\n\n");
  42.         }
  43.     }
  44.     return 0;
  45. }
  46.  
  47. void show_menu()
  48. {
  49.     printf("\n1. Read an array\n");
  50.     printf("2. Print array\n");
  51.     printf("3. Get largest odd number\n");
  52.     printf("4. Get smallest even number\n");
  53.     printf("5. Exit\n");
  54.     printf("Choose your option: ");
  55. }
  56.  
  57. int *read_array(int *size)
  58. {
  59.     *size = 1;
  60.     int *arr;
  61.     int arr_size = 10;
  62.     char buffer;
  63.     arr = (int *)malloc(arr_size * sizeof(int));
  64.  
  65.     printf("Enter value of element at index %d: ", *size - 1);
  66.     while (scanf("%d", &arr[*size - 1]) == 1)
  67.     {
  68.         *size = *size + 1;
  69.         if (*size > arr_size)
  70.         {
  71.             arr_size += 10;
  72.             arr = realloc(arr, arr_size * sizeof(int));
  73.         }
  74.  
  75.         printf("Enter value of element at index %d: ", *size - 1);
  76.     }
  77.     return arr;
  78. }
  79.  
  80. void print_array(int *array, int size)
  81. {
  82.     printf("[");
  83.     for (int i = 0; i < size; i++)
  84.     {
  85.         printf("%d", array[i]);
  86.         if (i != sizeof(array) / sizeof(array[0]) - 1)
  87.             printf(", ");
  88.     }
  89.  
  90.     printf("]\n\n");
  91. }
  92.  
  93. int biggest_odd(int *arr, int size)
  94. {
  95.     // TODO
  96.     return -1;
  97. }
  98.  
  99. int smallest_even(int *arr, int size)
  100. {
  101.     // TODO
  102.     return -1;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement