Đề là chèn x vào dãy a tăng để sau khi chèn a vẫn là dãy tăng mà không cần sắp xếp lại
Em code rồi, nhưng chạy không được, chạy được 1 đoạn rồi báo lỗi,tìm hoài không ra nhờ mọi người chỉ xem giúp
Em code rồi, nhưng chạy không được, chạy được 1 đoạn rồi báo lỗi,tìm hoài không ra nhờ mọi người chỉ xem giúp
PHP Code:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
void nhap(int a[],int &n);
void xuat(int a[],int n);
void doicho(int a[],int n);
void chen(int a[], int &n,int x);
void main()
{
int i,j,a[10],n,x;
printf("\nNhap so phan tu cua mang : ");
scanf("%d",&n);
printf("\nnhap mang:");
nhap(a,n);
printf("\nmang vua nhap la:");
xuat(a,n);
printf("\nmang sau khi duoc sap tang la:");
doicho(a,n);
xuat(a,n);
printf("\nnhap vao so can chen:"); scanf("%d",&x);
printf("\nmang sau khi chen la:");
chen(a,n,x);
xuat(a,n);
getch();
}
void nhap(int a[],int &n)
{
int i;
for(i=0;i<n;i++)
{
printf("Nhap a[%d] : ",i);
scanf("%d",&a[i]);
}
}
void xuat(int a[],int n)
{
int i;
for(i=0;i<n;i++)
printf(" %d",a[i]);
}
void doicho(int a[],int n)
{
int tam,i,j;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
{
if(a[i] > a[j])
{
tam = a[i];
a[i] = a[j];
a[j] = tam;
}
}
}
void chen (int a[], int &n, int x)
{
int i,j,k;
if(x > a[n-1])
a[n] = x;
if(x <= a[0])
{
for(i=n;i>0;i--)
a[i] = a[i-1];
a[0] = x;
}
for(j=1;j<n;j++)
{
if(a[j-1] <= x && x <= a[j])
for(k=n;k>j;k--)
a[k] = a[k-1];
a[j]=x;
n++;
}
}
Comment