Даны упорядоченные действительные числа A1, A2,..., An, натуральное число k и действительное число P. Удалить элемент с номером k и вставить в последовательность P, так, чтобы упорядоченность не нарушилась. Задача № 11 (Сортировка массивов) (см. "Сборник задач для начинающего программиста") Алгоритм: #include <stdio.h> #include <stdlib.h> #define N 10 int main () { int a[N]; int k, P, i, j, t; //объявляем переменные printf ("\nNam dan massiv :"); for( i = 1; i <= N; i++ ) //заводим цыкл для заполнения массива { a[i]=i; //заполняем массив printf (" %d ", a[i]); //выводим массив на экран } printf ("\nVvedite № elementa kotorii bydet ydalion iz massiva (ot 0 do 9)\nk = "); scanf ("%d", &k); //получаем от пользователя № элемента которые удалим if ( ( k >= N ) && ( k <= 0 ) ) //проверяем допустимо ли значение введенного числа printf ("Error!!! 4isla c takim nomerom net\n"); else //если допустимо то дальше выполняем программу { printf ("\nVvedite deistvitelnoe 4iclo\nP = "); scanf ("%d", &P); //получаем от пользователя число Р a[k] = P; //записываем его в массив for ( i=1; i<N; i++) //применяем метод сортировки всадками { t=a[i]; for(j=i-1; (j >= 0) && (t < a[j]); j--) { a[j+1] = a[j]; a[j] = t; } } } for ( i=0; i<=(N-1); i++) //выводим новый массив с новым числом printf (" %d ", a[i]); return 0; }
Ключевые слова:
массив, сортировка, вставками,
|
|||