Quick actions

cmd+k|ctrl+k

Navigation

Languages

Lab_5_2, 515i, Darchuk Hlib Serhiyovic

Snippet info

Language

C

Visibility

public

Author

h.s.darchuk

Created

2025-05-22T18:23:45.015352Z

Updated

2025-05-22T18:23:45.015352Z

/*
* @file Lab_5_1.c
* @author Дарчук Г.С., 515i
* @date 22.05.2025
* @brief Лабораторна робота №5, варіант 22
*
* Функції. Застосування вказівників. Завдання 2
*/

#include <stdio.h>
#include <stdlib.h>

void arrayInput(int* arrFirst, int size)
{
    for (int i = 0; i < size; i++)
    {
        printf("Введить %d елемент масиву: ", i);
        scanf("%d", (arrFirst + i));
    }
}

void arrayCount(int* arrFirst, int size, int* counter)
{
    int* arrPtr = arrFirst;
    int *counterStart = counter;
    for (int i = 0; i < size; i++, arrPtr++)
    {
        switch (*arrPtr)
        {
            case 0:
            case 1:
            case 2:
                (*counter)++;
                break;
            case 3:
                counter += 1;
                (*counter)++;
                break;
            case 4:
                counter += 2;
                (*counter)++;
                break;
            case 5:
                counter += 3;
                (*counter)++;
                break;
            default:
                counter += 4;
                (*counter)++;
                break;
        }
        counter = counterStart;
    }
}

void arrayPrint(int *a, int size)
{
    printf("Кіькість змінних, що знаходяться в діапазоні від 0 до 2: %d\n", *a);
    for (int i = 1; i < (size-1); i++)
    {
        printf("Кількість змінних, що дорівнюють %d: %d\n", (i+2), *(a+i));
    }
    printf("Кількість символів, що не увійшли в діапазон: %d\n", *(a+size-1));
}

int main()
{
    int size, arrCount[5] = {0};
    printf("Введіть кількість цифр: ");
    scanf("%d", &size);
    if (size < 1)
    {
        printf("Помилка: кількість цифр не може бути меншою за 1\n");
        return 1;
    }
    int* arr = (int*)calloc(size, sizeof(int));
    arrayInput(arr, size);
    arrayCount(arr, size, arrCount);
    arrayPrint(arrCount, 5);
    return 0;
}
INFO