Mảng các phân số
Trang 1 trong tổng số 1 trang
Mảng các phân số
- Code:
\\
#include<stdio.h>
#include<conio.h>
struct phanso
{
int tu;
int mau;
};
typedef struct phanso ps;
void nhapps(ps &x)
{
printf("\nNhap tu:");
scanf("%d",&x.tu);
printf("\nNhap mau:");
scanf("%d",&x.mau);
}
void xuatps(ps x)
{
printf("%d/%d\t",x.tu,x.mau);
}
void nhapmang(ps a[],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]= ",i);
nhapps(a[i]);
}
}
void xuatmang(ps a[],int n)
{
for (int i=0;i<n;i++)
{
xuatps(a[i]);
}
}
int ucln(int a,int b)
{
while(a!=b)
{
if(a>b)
{
a-=b;
}
else
{
b-=a;
}
}
return a;
}
void thugon(int &tu,int &mau)
{
int c=ucln(tu,mau);
tu/=c;
mau/=c;
}
ps tong(ps a[],int n)
{
ps kq;
kq.tu=a[0].tu;
kq.mau=a[0].mau;
for (int i=1;i<n;i++)
{
kq.tu=kq.tu*a[i].mau+a[i].tu*kq.mau;
kq.mau*=a[i].mau;
}
thugon(kq.tu,kq.mau);
return kq;
}
ps max(ps a[],int n)
{ int b,c;
ps max=a[0];
for(int i=1;i<n;i++)
{
c=max.tu*a[i].mau;
b=max.mau*a[i].tu;
if(b>c)
{
max=a[i];
}
}
return max;
}
int demmax(ps a[],int n)
{ int dem=0;
ps m=max(a,n);
for(int i=0;i<n;i++)
{
if(m.tu*a[i].mau==m.mau*a[i].tu) dem++;
}
return dem;
}
void main()
{
clrscr();
ps a[100];int n,tu,mau;
printf("Nhap n: ");
scanf("%d",&n);
nhapmang(a,n);
printf("Mang sau khi nhap la\n");
xuatmang(a,n);
printf("\nTong cac phan tu trong mang:%d/%d",tong(a,n));
printf("\nPhan tu max la:%d/%d",max(a,n));
printf("\nSo phan tu max la:%d",demmax(a,n));
getch();
}
Turan- Tổng số bài gửi : 1
Join date : 24/03/2011
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|