Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <locale.h>
  4.  
  5. int interface(int *arr, int amount)
  6. {
  7. int numb;
  8. int *chetn, *nechetn;
  9. int j=0,k=0;
  10.  
  11. printf(" 1 - все четные числа \n 2 - все нечетные числа \n 3 - выйти из массива \n Введите:");
  12. scanf("%d",&numb);
  13.  
  14. for (int i=0; i<amount; ++i)
  15. {
  16. if (arr[i] % 2)
  17. {
  18. ++j;
  19. }
  20. else
  21. {
  22. ++k;
  23. }
  24. }
  25. chetn = (int *) malloc(j * sizeof (int));
  26. nechetn = (int *) malloc(k * sizeof (int));
  27.  
  28. j=0;k=0;
  29. for (int i=0; i<amount; ++i)
  30. {
  31.  
  32. if (arr[i] % 2)
  33. {
  34. nechetn[j]=arr[i];
  35. ++j;
  36. }
  37. else
  38. {
  39. chetn[k]=arr[i];
  40. ++k;
  41. }
  42. }
  43. switch(numb)
  44. {
  45. case 1:
  46. for (int i=0;i<k;++i)
  47. printf("%d",chetn[i]);
  48. break;
  49.  
  50. case 2:
  51. for (int i=0;i!=j;++i)
  52. printf("%d",nechetn[i]);
  53. break;
  54.  
  55. case 3: break;
  56.  
  57. }
  58.  
  59. free(chetn);
  60. free(nechetn);
  61. chetn = NULL;
  62. nechetn=NULL;
  63. }
  64.  
  65. int main(void)
  66. {
  67. setlocale(LC_ALL, "Russian");
  68.  
  69. int *arr;
  70. int amount;
  71.  
  72.  
  73. printf("Количество элементов массива:");
  74. scanf("%d",&amount);
  75.  
  76. arr = (int *) malloc(amount * sizeof (int));
  77.  
  78.  
  79. for (int i=0; i<amount; ++i)
  80. {
  81. printf("%d элемент массива равен ",i );
  82. scanf("%d",&arr[i]);
  83. }
  84.  
  85. interface(arr,amount);
  86.  
  87. free(arr);
  88. arr = NULL;
  89. return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement