Определить первое и последнее пропущенные числа и их позиции в ряду - C (СИ)
Формулировка задачи:
Здравствуйте!
Дан фрагмент натурального ряда чисел, в котором некоторые числа отсутствуют.
Определить:
1) Первое и последнее пропущенные числа и их позиции в ряду;
2) Все пропущенные числа и их позиции
{0, 11, 5, 8, 12, 6, 7, 14, 9, 1, 4, 5, 3, 2} - фрагмент натурального ряда в произвольном порядке
Решение задачи: «Определить первое и последнее пропущенные числа и их позиции в ряду»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #define SIZE 13
- int main()
- {
- int a [SIZE] = {0, 11, 5, 8, 12, 6, 7, 14, 9, 1, 4, 3, 2};
- int i,j, pass, hold;
- printf("Dannye v nachalnom poryadke\n");
- for (i = 0; i <= SIZE - 1; i++)
- printf("%4d", a[i]);
- for (i = 0; i <SIZE; i++)
- {
- for(j=i; j<SIZE; j++)
- {
- if (a[i] > a[j])
- {
- hold = a[i];
- a[i] = a[j];
- a[j] = hold;
- }
- }
- }
- printf(" \nDannye v novom poryadke\n");
- for (i = 0; i <= SIZE - 1; i++)
- printf("%4d", a[i]);
- printf("\n");
- pass=0;
- for(i=0; i<SIZE-1; i++)
- {
- while(a[i]==pass)
- {
- i++;
- pass++;
- }
- printf("Lost = %d, index = %d\n",pass,i);
- pass++;
- i--;
- }
- return 0;
- }
Объяснение кода листинга программы
В данном коде реализована сортировка массива методом пузырька. Также, после сортировки, ищется первое и последнее повторяющееся число и выводится на экран его значение и индекс.
- Объявлены переменные: — a - массив, содержащий 13 чисел, инициализированный значениями {0, 11, 5, 8, 12, 6, 7, 14, 9, 1, 4, 3, 2} — i, j - индексы для обхода массива — pass - счётчик для поиска повторяющихся чисел — hold - временная переменная для обмена значениями
- В цикле выводятся на экран значения массива в исходном порядке.
- В цикле с помощью метода пузырька происходит сортировка массива по возрастанию.
- Выводится на экран отсортированный массив.
- В цикле ищется первое и последнее повторяющееся число и выводится на экран его значение и индекс.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д