Вопрос задан 01.07.2023 в 11:46. Предмет Информатика. Спрашивает Юдин Саша.

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

Спасибо!
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Жданович Диана.

#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;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот пример программы на языке 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

Надеюсь, это поможет вам! Если у вас возникнут ещё вопросы, не стесняйтесь задавать.

0 0

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

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

Последние заданные вопросы в категории Информатика

Задать вопрос