Часть II. Решения 131
printf("(%i целых чисел) -> ", SZ);
for (к = 0; к < SZ; к++)
scanf("%i", &а[к]);
printf("Введите второй массив ");
printf("(%i целых чисел) -> ", SZ);
for (i =0; i < SZ; i++)
scanf("%i", &b[i]);
к = i = m = 0;
do {
if (a[k] < b[i] )
c[m++] = a[k++];
else
if (a[k] > b[i])
c[m++] = b[i++];
else {
с[ш++] = a[k++];
c[m++] = b[i++] ;
}
} while ( к < SZ && i < SZ); // один из двух исходных
// массивов полностью не переписан в массив С
while (к < SZ) // есть эл-ты А, не переписанные в С
с[т++] = а[к++];
while (1 < SZ) // есть эл-ты В, не переписанные в С
с[т++] = b[i++];
printf("Массив - результат: \п");
for (1 = 0; i < 2 * SZ; i++)
printf("%i ", c[i]);
printf("Для завершения работы нажмите \n");
getch();
}
Задача 156
// Бинарный поиск в упорядоченном массиве
#include
#include
132 C/C-t"i- в задачах it примерах
#define SZ 10 // размер массива
void main()
{
int a[SZ]; // массив целых
int obr; // образец для поиска
int ok; // 1 - массив упорядочен
int verh,niz; // границы части массива, в которой
// выполняется поиск
int sred; // индекс среднего элемента в области
// поиска
int found; // 1 - поиск успешен
int п; // счетчик сравнений с образцом
int i;
// ввод массива
printf("*** Бинарный поиск ");
printf("в упорядоченном массиве ***\п");
printf("Введите массив (в одной строке %i ", SZ);
printf("целых чисел) и нажмите \n");
printf("-> ");
for (i = 0; i < SZ; i++)
scanf("%i", &a[i]);
// проверим, упорядочен ли массив по возрастанию
ок = 1; // пусть массив упорядочен
i = 0;
do
if (a[i] <= a[i-bl])
i+-»-;
else ok = 0;
while (ok && i < SZ -1);
if ( !ok) {
puts("Введенный массив не является");
puts("упорядоченным по возрастаниюХп");
goto bye;
}
Do'stlaringiz bilan baham: |