Решения (задачи 140-158)
Задача 150.
// Проверяет, отсортирован ли массив по возрастанию #include <stdio.h> #include <conio.h> #define НВ 5 void main() i int a[HB]; // массив int к; // индекс int ok; // 1 – последовательность неубывающая printf("Проверка, упорядочен ли массив\п"); printf("по возрастаникЛп"); printf("Введите массив (%i целых чисел ", НВ); printf ("в одной строке) и нажмите Enter\n"); for (k =0; k < НВ; k++) scanf("%i", &a[k]); к = 0; ок = 1; do { if (a[k] > ок = 0; } while (к < НВ-1 && ок); printf("Элементы массива "); if (!ок) printf("не упорядочены "); printf("по возрастаниюХп"); printf("Хп Для завершения работы нажмите Enter"); getch();
Задача 151.
// Проверяет, сколько раз число встречается в массиве finclude <stdio.h> tinclude <conio.h> #define HB 5 // размер массива void main() int a[HB]; // массив int obr; // искомое число (образец) int n; // кол-во элементов массива, // значение которых равно образцу int i; // индекс printf("Введите массив (%i ", HB); printf("целых чисел в одной строке)\п"); printf(" › "); for (i = 0; i < HB; i++) scanf("%i",&a[i]); printf("Введите образец для сравнения › "); scanf("%i", &obr); n = 0; for (i = 0; i < HB; i++) if (a[i] == obr) n++; if (n) printf("Число %i встречается в массиве %i раз", obr, п); else printf("Ни один элемент массива не равен образцу") printf("\ц Для завершения работы нажмите Enter"); getch();
Задача 153.
// Сортировка массива методом прямого выбора iinclude <stdio.h> #include <conio.h> #define SZ 5 // размер массива void main () int a[SZ]; // массив of integer; int i; // номер элемента, от которого ведется noi // минимального эл-та int min; // номер минимального элемента в части // массива от i до верхней границы массива int j; // номер эл-та, сравниваемого с минимальным int buf; // используется при обмене эл-тов массива int k; // индекс для ввода и вывода printf("ХпСортировка массива\п"); printf("Введите массив (в одной строке %i", SZ); printf("целых чисел) и нажмите Enter\n"); printf(" › "); for (k =0; k < SZ; k++) scanf("%i", &a[k]); printf("Сортировка…\n"); for (i = 0; i < SZ-1; i++) // поиск минимального эл-та // в части массива от а[1] до последнего эл-та min = i; for (j = i+1; j < SZ; j if (a[j] < a[min]) min = j; // поменяем местами a[min] и a[i] buf = a[i]; a [i] = a [min]; a[min] = buf; // цикл сортировки закончен // отладочная печать // выведем, промежуточное состояние массива for (k =0; к < SZ; к++) printf("%i ", а[к]); printf ("\n"); // выведем отсортированный массив printf("Массив отсортированХп"); for (к =0; к < SZ; к++) printf("%i ", а[к]); printf("\n"); printf("\п Для завершения работы нажмите Enter"); getch();