
Программа в языке Си Выполнить сортировку отрицательных элементов методом вставок. Заранее
Спасибо!

Ответы на вопрос

#include <stdio.h>
#include <malloc.h>
//сортировка вставками
void InsertionSort(int n, int mass[])
{
int newElement, location;
for (int i = 1; i < n; i++)
{
newElement = mass[i];
location = i - 1;
while(location >= 0 && mass[location] > newElement)
{
mass[location+1] = mass[location];
location = location - 1;
}
mass[location+1] = newElement;
}
}
int main()
{
//ввод N
int N;
printf("Input N: ");
scanf("%d", &N);
//выделение памяти под массив
int* mass;
mass = (int *)malloc(N * sizeof(int));
//ввод элементов массива
printf("Input the array elements:\n");
for (int i = 0; i < N; i++)
scanf("%d", &mass[i]);
//сортировка вставками
InsertionSort(N, mass);
//вывод отсортированного массива на экран
printf("Sorted array:\n");
for (int i = 0; i < N; i++)
printf("%d ", mass[i]);
printf("\n");
//освобождение памяти
free(mass);
return 0;
}



Конечно, вот пример программы на языке C, которая выполняет сортировку отрицательных элементов массива методом вставок:
c#include <stdio.h>
void insertionSort(int arr[], int n) {
int i, key, j;
for (i = 1; i < n; i++) {
key = arr[i];
j = i - 1;
/* Сдвигаем элементы массива, которые больше key, на одну позицию вперед */
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
void printArray(int arr[], int n) {
int i;
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
}
int main() {
int arr[] = {-5, -2, -10, -3, -1};
int n = sizeof(arr) / sizeof(arr[0]);
printf("Исходный массив: \n");
printArray(arr, n);
insertionSort(arr, n);
printf("Отсортированный массив: \n");
printArray(arr, n);
return 0;
}
В данном примере массив arr
содержит отрицательные элементы: {-5, -2, -10, -3, -1}. Мы используем функцию insertionSort
для сортировки отрицательных элементов методом вставок. Затем, с помощью функции printArray
, выводим исходный и отсортированный массивы на экран. Результат работы программы будет следующим:
diffИсходный массив:
-5 -2 -10 -3 -1
Отсортированный массив:
-10 -5 -3 -2 -1
Надеюсь, это поможет вам! Если у вас возникнут ещё вопросы, не стесняйтесь задавать.


Похожие вопросы


Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili