fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define size_t_of_array(name,type) sizeof(name) / sizeof(type)
  5. #define One_Dimensional_array(name) size_t_of_array(name,name[0])
  6.  
  7. #define element_of_array 10
  8.  
  9. #define array_and_sizet int array[], size_t sizet
  10.  
  11. int find_max_fn(array_and_sizet);
  12. int find_max_element_fn(array_and_sizet);
  13.  
  14. #define max(a,b) (a>b)?(a):(b)
  15. #define setting_array_and_sizet_fn(z) z,One_Dimensional_array(z)
  16.  
  17. int main(void)
  18. {
  19. // const size_t element_of_array = 10;
  20. int myarray[element_of_array];
  21.  
  22. printf("List all elements in the array\n");
  23.  
  24. for(int k=0;k<element_of_array;k++)myarray[k] = k;
  25. for(int k=0;k<element_of_array;k++)printf("%d\n", myarray[k]);
  26.  
  27. printf("Define a macro and apply an iterative method to find the maximum: %d\n", find_max_fn(setting_array_and_sizet_fn(myarray)));
  28.  
  29. system("pause");
  30. return 0;
  31. }
  32. int find_max_fn(array_and_sizet)
  33. {
  34. int largest;
  35. int range = sizet - 1;
  36. for(int k=0;k<range;k++)
  37. if(k==0)
  38. {
  39. largest = max(array[k],array[k+1]);
  40. }
  41. else
  42. {
  43. largest = max(largest,array[k+1]);
  44. }
  45. return largest;
  46. }
  47.  
  48.  
Success #stdin #stdout #stderr 0s 5420KB
stdin
Standard input is empty
stdout
List all elements in the array
0
1
2
3
4
5
6
7
8
9
Define a macro and apply an iterative method to find the maximum: 9
stderr
sh: 1: pause: not found