Em đã có viết code nhưng nó lại chạy giữa chừng rồi đứng khựng lại và không báo lỗi gì. Ý tưởng của e là e sắp xếp mảng giảm dần rồi đếm phần tử âm sau đó trừ phần tử lẻ ra r in ra thôi ạ. E cảm ơn ạ.
#include <stdio.h>
#include <conio.h>
#define MAX 500
void nhapMang(int &n, double a[]);
void xuatMang(int n, double a[]);
void xepMangGiam(int n, double a[]);
int demPTAm(int n, double a[]);
void xoaPTAm(int &n, double a[]);
void main()
{
int n;
double a[MAX];
nhapMang(n, a);
xoaPTAm(n, a);
xuatMang(n, a);
getch();
}
void nhapMang(int &n, double a[])
{
do
{
printf("Nhap do lon mang : ");
scanf("%d", &n);
}while(n <= 0);
for(int i = 0 ; i < n ; i++)
{
printf("\na[%d]: ", i + 1);
scanf("%lf", &a[i]);
}
}
void xuatMang(int n,double a[])
{
for(int i = 0 ; i < n ; i++)
printf("%lf\t", a[i]);
}
void xepMangGiam(int n, double a[])
{
int j;
double temp;
for(int i = 1 ; i < n ; i++)
{
temp = a[i];
j = i--;
while(temp > a[j] && j >= 0)
{
a[j + 1] = a[j];
j--;
}
a[j + 1] = temp;
}
}
int demPTAm(int n, double a[])
{
int dem = 0;
for(int i = 0 ; i < n ; i++)
{
if(a[i] < 0)
dem++;
}
return dem;
}
void xoaPTAm(int &n, double a[])
{
xepMangGiam(n, a);
n = n - demPTAm(n, a);
}
đây là code của e ạ !! Mong mọi người giúp đỡ
update: Khi e chuyển qua xài sắp xếp bằng cái Selection Soft thì được nhưng sao cái Insertion Soft lại không được nhỉ ?
không hiểu sao kỳ lạ thật cái kia e cũng xài được trong việc sắp xếp cho mấy bài trước mà bai này lại không được
hãy hết sức thận trọng khi đọc và khi định viết những câu sửa biến lặp ngang xương ntn.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?