Упорядочить матрицу по возрастанию методом выбора - C (СИ)
Формулировка задачи:
Дан массив вещественных чисел, состоящих из N(20) элементов. Упорядочить ее по возрастанию методом выбора.
С помощью указателей.
вот начала,ввод массива и поиск максимального, не могу понять цикл перекидывания в конец с помощью указателей.
пожалуйста напишите цикл
Решение задачи: «Упорядочить матрицу по возрастанию методом выбора»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 20 int main() { srand(time(NULL)); int array[20]; int* arrayEnd = array + (sizeof(array) / sizeof(*array)); int* cur; for (cur = array; cur <= arrayEnd; ++cur) { *cur = rand() % 100; } for (cur = array; cur <= arrayEnd; ++cur) { printf("%d ", *cur); } printf("\n"); for (cur = array; cur < arrayEnd; ++cur) { int* min = cur; int* curScroll = cur + 1; for (; curScroll <= arrayEnd; ++curScroll) { if (*min > *curScroll) { min = curScroll; } } int tmp = *min; *min = *cur; *cur = tmp; } for (cur = array; cur <= arrayEnd; ++cur) { printf("%d ", *cur); } printf("\n"); system("pause"); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем размер массива N
- Инициализируем генератор случайных чисел
- Создаем массив типа int и инициализируем его случайными числами от 0 до 99
- Выводим массив на экран
- Создаем указатель min, который будет хранить минимальный элемент текущего подмассива
- Создаем указатель curScroll, который будет перебирать элементы текущего подмассива
- Начинаем цикл по всем элементам массива, начиная с текущего подмассива
- Внутри цикла перебираем все элементы текущего подмассива и находим минимальный элемент
- Меняем местами текущий элемент и минимальный элемент
- Повторяем шаги 8-10 для всех подмассивов, пока не переберем весь массив
- Выводим отсортированный массив на экран
- Ждем нажатия клавиши для выхода из программы
- Возвращаем 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д