кодесурса
«C

Упражнения C: Найти потолок в отсортированном массиве

script1adsense2code
script1adsense3code

C Array: Упражнение-40 с раствором

Напишите программу на C, чтобы найти потолок в отсортированном массиве.
NB. Учитывая отсортированный массив в порядке возрастания и значение x, потолок x является наименьшим элементом в массиве, большим или равным x, а floor является наибольшим элементом, меньшим или равным x.

Иллюстрированная презентация:

«C

Пример решения:

Код C:

#include <stdio.h>
 
int findCeiling(int arr1[], int low, int high, int x)
{
     int i;
    if (x <= arr1[low])
    return low;
   for (i = low; i < high; i++)
   {
       if (arr1[i] == x)
          return i;
 
       if (arr1[i] < x && arr1[i + 1] >= x)
           return i + 1;
   }
   return -1;
}
int main()
{
    int arr1[] = {1, 3, 4, 7, 8, 9, 9, 10};
    int ctr = sizeof(arr1)/sizeof(arr1[0]);
    int x = 5,i;
//------------- print original array ------------------	
	printf("The given array is :  ");
	for(i = 0; i < ctr; i++)
	{
	printf("%d  ", arr1[i]);
    } 
    printf("\n");	
//----------------------------------------------------	
    int index = findCeiling(arr1, 0, ctr-1, x);
    if (index == -1)
        printf("No ceiling for the number %d  exists in array. ", x);
    else
        printf("The ceiling of %d is: %d", x, arr1[index]);
    getchar();
    return 0;
}

Пример вывода:

 Данный массив: 1 3 4 7 8 9 9 10  
Потолок 5 это: 7 

Блок - схема:

«Блок-схема:

Редактор кода программирования C:

Улучшите этот пример решения и опубликуйте свой код через Disqus.

Previous: написать программу на C для поворота массива на N позиций.
Далее: Напишите программу на C, чтобы найти этаж и потолок с числом от 0 до 10 из массива с шаблонами.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code