Thứ Sáu, 21 tháng 10, 2011

USCLN cua 2 mang

#include<conio.h>
#include<iostream.h>
void nhapmang(int a[],int n)       //Nhap du lieu cho mang
{
     for(int i=0;i<n;i++)
     {
         cout<<"Nhap phan tu thu "<<(i+1)<<" : ";
         cin>>a[i];        
     }     
}
int uscln(int x, int y)     //Tra ve uscln
{
    while(x!=0&&y!=0)       
    {
        if(x>y) x=x-y;
        else y=y-x;                 
    }
    if(x==0) return y;
    else return x;
}
int main()      //void main cung duoc, tuy chtrinh
{
    int a[50], b[50];
    int n;      //So phan tu cua mang a[],b[]
                //Vi so pt cua 2 mang bang nhau nen ta tao 1 bien chung
    cout<<"Nhap so phan tu cua mang: ";
    cin>>n;
    cout<<"Nhap mang A: \n";
    nhapmang(a,n);
    cout<<"Nhap mang B: \n";
    nhapmang(b,n);
    cout<<"A  ------ B  ------ USCLN \n"; //Tao hinh dang bang hoac cot
    for(int i=0;i<n;i++)
            cout<<a[i]<<"  ------ "<<b[i]<<"  ------- "<<uscln(a[i],b[i])<<" \n";
    getch();
}

Đoạn code có kiểm soát lỗi nhập vào

#include<conio.h>
#include<iostream.h>
void nhapmang(int a[],int n)       //Nhap du lieu cho mang
{
     for(int i=0;i<n;i++)
     {
         cout<<"Nhap phan tu thu "<<(i+1)<<" : ";
         /* Kiem soat viec nhap phtu <= 0 */
         do{
            cin>>a[i];       
            if(a[i]<=0) cout<<"Nhap lai (a[i] > 0): ";
         }while(a[i]<=0);
     }    
}
int uscln(int x, int y)     //Tra ve uscln
{
    while(x!=0&&y!=0)      
    {
        if(x>y) x=x-y;
        else y=y-x;                
    }
    if(x==0) return y;
    else return x;
}
int main()      //void main cung duoc, tuy chtrinh
{
    int a[50], b[50];
    int n;      //So phan tu cua mang a[],b[]
                //Vi so pt cua 2 mang bang nhau nen ta tao 1 bien chung
    /*Kiem soat viec nhap n( n>0 ), them vong do...while */
    do{
       cout<<"Nhap so phan tu cua mang: ";
       cin>>n;
       if(n<=0) cout<<"Xin nhap lai (n>0) \n";
    }while(n<=0);
    cout<<"Nhap mang A: \n";
    nhapmang(a,n);
    cout<<"Nhap mang B: \n";
    nhapmang(b,n);
    cout<<"A  ------ B  ------ USCLN \n"; //Tao hinh dang bang hoac cot
    for(int i=0;i<n;i++)
            cout<<a[i]<<"  ------ "<<b[i]<<"  ------- "<<uscln(a[i],b[i])<<" \n";
    getch();
}