Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <malloc.h>
- //ФУНКЦИЯ ДЛЯ ОПРЕДЕЛНИЯ СУММЫ ПОЛОЖ ЧИСЕЛ
- double getpositivesumm(double a[], int N)
- {
- int i;
- double summ;
- for (i = 0; i < N; i++) {
- if (a[i] >= 0) summ += a[i];
- }
- return summ;
- }
- //ФУНКЦИЯ ДЛЯ ПОЛУЧНИЯ МИН ЭЛЕМЕНТА МАССИВА
- double getminelement(double a[], int N)
- {
- int i;
- double min = a[0];
- for (i = 0; i < N; i++) {
- if (min > a[i]) min = a[i];
- }
- return min;
- }
- //ФУНКЦИЯ СОРТИРОВКИ ПО НУЛЮ
- void sortbyzero(double a[], int N)
- {
- int j = 0, i, count;
- for (i=1; i<N;i++) {
- if(a[i]==0) {
- count = i;
- while (count>j && a[count-1] !=0) {
- a[count] = a[count-1];
- a[count-1] = 0;
- count--;
- }
- j++;
- }
- }
- }
- //ФУНКЦИЯ ПРОВЕРКИ ЧЕРЕДОВАНИЯ МАССИВА
- void cheredcheck(double a[], int N)
- {
- int aCHERED, i;
- for (i = 0; i < N - 1; i++) {
- if (a[i] + a[i + 1] != 1) {
- aCHERED = 0;
- break;
- }
- if (a[i] + a[i + 1] == 1)
- aCHERED = 1;
- }
- if (aCHERED == 1)
- printf("(1) Массив чередуется\n");
- else
- printf("(1) Массив НЕ чередуется\n");
- }
- int main()
- {
- int i, N, whattodo;
- printf("[№8] ПРОГРАММА ДЛЯ ОБРАБОТКИ МАССИВА: \n");
- printf("Введите размер массива: ");
- scanf("%d", &N);
- double* a; // указатель на массив
- a = (double*)malloc(N * sizeof(double)); // Выделение памяти
- // Ввод элементов массива
- for (i = 0; i < N; i++) {
- printf("a[%d] = ", i);
- scanf("%lf", &a[i]);
- }
- printf("Команды:\n");
- printf("(1) Проверка чередования 0 и 1\n");
- printf("(2) Мин. элемент\n");
- printf("(3) Сумма полож. элементов\n");
- printf("(4) Сортировка массива (нули в начало)\n");
- printf("Выберите необходимое действие: ");
- scanf("%d", &whattodo);
- switch(whattodo) {
- case 1:
- cheredcheck(a, N);
- break;
- case 2:
- printf("(2) Минимальный элемент: %lf \n", getminelement(a, N));
- break;
- case 3:
- printf("(3) Сумма полож. элементов массива= %lf\n", getpositivesumm(a, N));
- break;
- case 4:
- sortbyzero(a, N);
- printf("(4) Сортированный массив:\n");
- // Вывод элементов массива
- for (i = 0; i < N; i++)
- printf("a[%d] = %lf \n", i, a[i]);
- break;
- default :
- printf("[ОШИБКА] Такого действия нет!\n");
- }
- free(a); //освобождаем память
- return 0;
- }
- /*
- #include <stdio.h>
- #define arr_size(arr) (sizeof arr / sizeof arr[0]) //определение количетства элементов в массиве
- int main(){
- int a[]={1,2,6,7,5};
- printf("%lu\n", arr_size(a));
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement