#include <stdio.h>
#include <stdlib.h>
void xuat(int a[])
{
int i;
printf("\nMang da nhap la:");
for(i=0;i<18;i++)
printf("\t %d",a[i]);
}
void KT(int a[],int x)
{
int i;
printf("\nCac phan tu trong mang chia het cho 5 va lon hon x:");
for(i=0;i<18;i++)
{
if(a[i]%5==0&&a[i]>x)
printf("\t %d",a[i]);
}
}
float TB(int a[])
{
int i;
int T=0;
int D=0;
for(i=0;i<18;i++)
{
if(a[i]%3==0&&a[i]<0)
D++;
T+=a[i];
}
return (float)T/D;
}
int Max(int a[])
{
int i;
int max=a[0];
for(i=0;i<18;i++)
{
if(a[i]>max)
max=a[i];
}
return max;
}
int Min(int a[])
{
int i;
int min=a[0];
for(i=0;i<18;i++)
{
if(a[i]<min)
min=a[i];
}
return min;
}
void DC(int a,int b)
{
int TG;
TG=a;
a=b;
b=TG;
}
int main()
{
int i,j, dem=0;
float x;
int a[18]={12,19,21,-24,30,-9,12,7,-16,-25,31,5,28,-14,-9,32,14,-25};
xuat(a);
printf("\nNhap so thuc x:");
scanf("%f",&x);
printf("\nTrung binh cong:%f",TB(a));
printf("\nGia tri lon nhat va nho nhat trong mang la:\t %d,\t%d",Max(a),Min(a));
DC(Max(a),Min(a));
printf("\nMang sau khi doi cho la:");
xuat(a);
return 0;
}
Code sai ở đâu mà output không đổi chỗ khi hiển thị?
cái này là tham trị cho nên giá trị của 2 biến a và b khi bác đưa vào hàm đó sẽ không bị thay đổi khi ra bên ngoài.
Solution: đổi thành tham biến hoặc con trỏ cho 2 giá trị a và b khi truyền vào hàm.
ví dụ: void DC(int &a, int &b) 
This post was flagged by the community and is temporarily hidden.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?