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

Отсортировать массив из n целых чисел в неубывающем порядке с сортировки прямыми вставками на языке с++

Показать ответ
Ответ:
Zaharza1
Zaharza1
01.10.2020 12:25
#include <stdio.h> #include <stdlib.h> void build(int*, int ); void heap(int*, int); int main(void) { FILE *fin; int *a,n,i;   fin=fopen("input.txt", "r");   fscanf(fin,"%d", &n); a=(int*)malloc(n*sizeof(int)); for (i=0; i<n; i++) fscanf(fin,"%d", &a[i]); printf("pervona4alniy vid\n"); for (i=0; i<n; i++) printf("%d ", a[i]); printf("\n"); build(a, n); printf("\n postroenie\n"); for (i=0; i<n; i++) printf("%d ", a[i]); heap(a,n); printf("\n kone4niy vid\n"); for (i=0; i<n; i++) printf("%d ", a[i]); printf("\n"); return 0; } /* */ void build(int *a, int n) { int i,j,k,temp; for (i=0; i<n/2; i++) { j=2*i+1; k=i; if ((a[j+1]>a[j])&&(j+1<n)) j++; while ((j>0)&&(a[j]>a[k])) { temp=a[j]; a[j]=a[k]; a[k]=temp; j=k; k=(k-1)/2; } } } /* */ void heap(int *a, int n) { int nn,temp,i; nn=n; while (nn>0) { temp=a[0]; a[0]=a[nn-1]; a[nn-1]=temp; nn--; build(a,nn);   for (i=0; i<n; i++) printf("%d ", a[i]); } }  
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота