Tìm phần tử đầu tiên trong mảng nằm trong khoảng (x, y)

Yêu cầu:
– Cho mảng số nguyên
– Tìm phần tử đầu tiên trong mảng nằm trong khoảng (x, y). Nếu không tìm thấy, trả về x.

Giải thuật:

Code

/************************************************************
* Author: VNCODING
* History
* 2016/12/24        first create    VNCODING
*************************************************************/

#include <stdio.h>
#include <conio.h>

#define MAX_SIZE_ARR 100

int get_first_element_in_xy(int arr[], int sz, int x, int y);

int main()
{
    int arr[MAX_SIZE_ARR];
    int n, i, x, y;
    int res;
    do
    {
        printf("n = ");
        scanf("%d", &n);
    }while(n <= 0 || n > 100);
    
    // Input array
    for(i = 0; i < n; i++)
    {
        printf("\narr[%d] = ", i);
        scanf("%d", &arr[i]);
    }

    // Input x, y
    printf("\nx = "); scanf("%d", &x);
    printf("y = "); scanf("%d", &y);

    res = get_first_element_in_xy(arr, n, x, y);
    if (res == x)
    {
        printf("\nNot found!!!");
    }
    else
    {
        printf("\nThe first element is contained in (%d, %d) is: %d", x, y, res);
    }
    getch();
    return 0;
}

int get_first_element_in_xy(int arr[], int sz, int x, int y)
{
    int i;
    int res = x;
    for (int i = 0; i < sz; i++) { if (arr[i] > x && arr[i] < y)
        {
            res = arr[i];
            break; // jump out of loop
        }
    }
    return res;
}

Kết quả:

Tìm phần tử đầu tiên trong mảng nằm trong khoảng (x, y)
Tìm phần tử đầu tiên trong mảng nằm trong khoảng (x, y)

Be the first to comment

Leave a Reply