Advertisement
Underhing

ЯВУ/ЛАБ8/VER 1

Feb 17th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <malloc.h>
  3.  
  4. //ФУНКЦИЯ ДЛЯ ОПРЕДЕЛНИЯ СУММЫ ПОЛОЖ ЧИСЕЛ
  5. double getpositivesumm(double a[], int N)
  6. {
  7. double summ;
  8. for (int i = 0; i < N; i++) {
  9.  
  10. if (a[i] >= 0) summ += a[i];
  11. }
  12.  
  13. return summ;
  14. }
  15.  
  16. //ФУНКЦИЯ ДЛЯ ПОЛУЧНИЯ МИН ЭЛЕМЕНТА МАССИВА
  17. double getminelement(double a[], int N)
  18. {
  19. double min = a[0];
  20. for (int i = 0; i < N; i++) {
  21. if (min > a[i]) min = a[i];
  22. }
  23.  
  24. return min;
  25. }
  26. //ФУНКЦИЯ СОРТИРОВКИ ПО НУЛЮ
  27. double sortbyzero(double a[], int N)
  28. {
  29. int k = 0;
  30. for (int i = 0; i < N; i++) {
  31. if (a[i] == 0) {
  32. int temp = a[i];
  33. a[i] = a[k];
  34. a[k] = temp;
  35. k++;
  36. }
  37. }
  38. }
  39. //ФУНКЦИЯ ПРОВЕРКИ ЧЕРЕДОВАНИЯ МАССИВА
  40. double cheredcheck(double a[], int N)
  41. {
  42. int aCHERED;
  43. for (int i = 0; i < N - 1; i++) {
  44. if (a[i] + a[i + 1] != 1) {
  45. aCHERED = 0;
  46. break;
  47. }
  48. if (a[i] + a[i + 1] == 1) {
  49. aCHERED = 1;
  50. }
  51. }
  52. if (aCHERED == 1) {
  53. printf("(1) Массив чередуется\n");
  54. }
  55. else {
  56. printf("(1) Массив НЕ чередуется\n");
  57. }
  58. }
  59.  
  60. int main()
  61. {
  62.  
  63. int i, N;
  64. printf("[№8] ПРОГРАММА ДЛЯ ОБРАБОТКИ МАССИВА: \n");
  65. printf("Введите размер массива: ");
  66. scanf("%d", &N);
  67. double* a; // указатель на массив
  68. a = (double*)malloc(N * sizeof(double)); // Выделение памяти
  69.  
  70. // Ввод элементов массива
  71. for (i = 0; i < N; i++) {
  72. printf("a[%d] = ", i);
  73. scanf("%lf", &a[i]);
  74. }
  75.  
  76. cheredcheck(a, N);
  77. printf("(2) Минимальный элемент: %lf \n", getminelement(a, N));
  78. printf("(3) Сумма полож. элементов массива= %lf\n", getpositivesumm(a, N));
  79. sortbyzero(a, N);
  80. printf("(4) Сортированный массив:\n");
  81.  
  82. // Вывод элементов массива
  83. for (i = 0; i < N; i++)
  84. printf("a[%d] = %lf \n", i, a[i]);
  85.  
  86.  
  87. free(a); //освобождаем память
  88. return 0;
  89. }
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. /*
  140. #include <stdio.h>
  141. #define arr_size(arr) (sizeof arr / sizeof arr[0]) //определение количетства элементов в массиве
  142.  
  143.  
  144.  
  145. int main(){
  146. int a[]={1,2,6,7,5};
  147.  
  148. printf("%lu\n", arr_size(a));
  149.  
  150.  
  151. }
  152.  
  153. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement