Предмет: Информатика,
автор: mmarguless
Отсортировать массив из N целых
чисел в неубывающем порядке с помощью сортировки прямыми вставками На языке С++
Ответы
Автор ответа:
0
#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 vidn");
for (i=0; i<n; i++)
printf("%d ", a[i]);
printf("n");
build(a, n);
printf("n postroenien");
for (i=0; i<n; i++)
printf("%d ", a[i]);
heap(a,n);
printf("n kone4niy vidn");
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
нихрена не понятно void мы не испольнзуем prinft тоже
Автор ответа:
0
ну прости
Похожие вопросы
Предмет: Математика,
автор: kariwa29
Предмет: Английский язык,
автор: hearthstonex897
Предмет: География,
автор: mmirono555
Предмет: История,
автор: ann0304