thehungdkc
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Mảng các phân số

Go down

Mảng các phân số Empty Mảng các phân số

Bài gửi  Turan Mon Mar 28, 2011 11:35 am

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

Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết