Windows Việt

Cộng Đồng Công Nghệ Thông Tin Việt

Trang ChínhTrang Chính  Sự kiện  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share
 
 Bài Giải 171 & 172 - Code by kitsudo
Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
kitsudo
Member

kitsudo
Member
Giới tính : Nam
Tuổi : 30
Posts Posts : 235
Coins Coins : 581
Thanked Thanked : 59
Bài Giải 171 & 172 - Code by kitsudo Empty

Do thấy có bạn yêu cầu bài 171 và 172 tại đây :
Code:
http://windows.forumvi.com/forum-f92/topic-t1655.htm

Nên kit code xong share cho các bạn cùng tham khảo. Ai thấy có lỗi gì thì đóng góp.
Code:

#include <stdio.h>
#include <conio.h>
#include <math.h>

void nhapmang(int* &p, int &n)
{
    printf("Nhap so phan tu: ");
    scanf("%d",&n);
    p=new int[n];
    for(int i=0;i<n;i++)
    {
        printf(" \nNhap phan tu thu %d:",i);
        scanf("%d",p+i);
        if(*(p+i)>0)
            continue;
        else
        {
            printf("\nBan chi dc nhap so nguyen duong\n ");
            break;
        }
       
    }
}

void xuatmang(int* p, int n)
{
    printf("\nMang ban vua nhap la:");
    for(int i=0;i<n;i++)
    {
        if((*p+i)<0)
        {
            printf("\n\n|== Co loi trong qua trinh nhap lieu ==|");
            break;
        }
        else
            printf("%4d",*(p+i));
    }
}

int lonnhat(int* p, int n)
{
    int ln=*p;
    for(int i=0;i<n;i++)
    {
        if(*(p+i)>ln)
            ln=*(p+i);
    }
    return ln;
}

int nhonhat(int* p, int n)
{
    int nn=*p;
    for(int i=0;i<n;i++)
    {
        if(*(p+i)<nn)
            nn=*(p+i);
    }
    return nn;
}

int uocln(int* p, int n)
{
    int flag =0;
    int ucln=1;
//    for(int j=1;j<=*(p+n-1);j++)  dong` nay` tesst thay' ko loi~ nhung ve thuat toan thi` hoi khong dung'
    for(int j=1;j<=nhonhat(p,n);j++)
    {
        for(int i=0;i<n;i++)
        {
            if(*(p+i)%j==0)
                flag =1;
            else
            {
                flag =0;
                break;
            }
        }
        if(flag ==1)
            ucln = j;
       
    }
    return ucln;
   
}

int boinn(int* p, int n)
{
    int flag=0;
    int tichpt=1;
    int bcnn;
    for(int k=0;k<n;k++)
        tichpt=tichpt**(p+k);
   
    for(int e=tichpt;e>=lonnhat(p,n);e--)
    {
        for(int i=0;i<n;i++)
        {
            if(e%*(p+i)==0)
                flag=1;
            else
            {
                flag=0;
                break;
            }
        }
            if(flag==1)
                bcnn=e;
    }
    return bcnn;
       
}

void main()
{
    int* p;
    int n;
    nhapmang(p,n);
    xuatmang(p,n);
    printf(" \n\nUoc Chung Lon Nhat Cua Cac Phan Tu Trong Mang La: %d\n",uocln(p,n));
    printf(" \nBoi Chung Nho Nhat Cua Cac Phan Tu Trong Mang La: %d",boinn(p,n));
    getch();
}


Bài Giải 171 & 172 - Code by kitsudo 984264


Được sửa bởi kitsudo ngày Wed 14 Oct 2009, 19:51; sửa lần 1.

※ Bài viết cùng chuyên mục


Tác giảThông điệp
den
Member

den
Member
Giới tính : Nam
Tuổi : 29
Posts Posts : 51
Coins Coins : 67
Thanked Thanked : 0
Bài Giải 171 & 172 - Code by kitsudo Empty

bai nay duoc do
co bai nao nua cho tui tui voi luon

※ Bài viết cùng chuyên mục


Tác giảThông điệp
kitsudo
Member

kitsudo
Member
Giới tính : Nam
Tuổi : 30
Posts Posts : 235
Coins Coins : 581
Thanked Thanked : 59
Bài Giải 171 & 172 - Code by kitsudo Empty

Bạn ko hiểu bài nào thì nói cụ thể chứ, mình ko phải dân pro nên làm bài được, bài ko Bài Giải 171 & 172 - Code by kitsudo 39951 . Nhưng mình sẽ cố gắng ........

※ Bài viết cùng chuyên mục


Tác giảThông điệp
BLACKCAT
Member

BLACKCAT
Member
Giới tính : Nam
Tuổi : 29
Posts Posts : 349
Coins Coins : 377
Thanked Thanked : 53
Bài Giải 171 & 172 - Code by kitsudo Empty

Thanks bạn nha! vote cho bạn nè ^^

※ Bài viết cùng chuyên mục


Tác giảThông điệp
acb093
Member

acb093
Member
Giới tính : Nam
Tuổi : 30
Posts Posts : 416
Coins Coins : 400
Thanked Thanked : 43
Bài Giải 171 & 172 - Code by kitsudo Empty

[You must be registered and logged in to see this link.] đã viết:
void nhapmang(int* &p, int &n)
{
printf("Nhap so phan tu: ");
scanf("%d",&n);
p=new int[n];
for(int i=0;i
{
printf(" \nNhap phan tu thu %d:",i);
scanf("%d",p+i);
if(*(p+i)>0)
continue;
else
{
printf("\nBan chi dc nhap so nguyen duong\n ");
break;
}

}
}


Bộ nhớ động nói chung được quản lí bởi hệ điều hành và trong các môi trường đa nhiệm có thể chạy một lúc vài chương trình có một khả năng có thể xảy ra là hết bộ nhớ để cấp phát. Nếu điều
này xảy ra và hệ điều hành không thể cấp phát bộ nhớ như chúng ta yêu cầu với toán tử new, một con trỏ null (zero) sẽ được trả về. Vì vậy các bạn nên kiểm tra xem con trỏ trả về bởi toán tử new có bằng null hay không


xin được góp ý như sau:
Code:

int nhapmang(int* &p, int &n)
{
    printf("Nhap so phan tu: ");
    scanf("%d",&n);
    p=new int[n];
    if(p==NULL)
        return 0;
    for(int i=0;i
    {
        printf(" \nNhap phan tu thu %d:",i);
        scanf("%d",p+i);
        if(*(p+i)>0)
            continue;
        else
        {
            printf("\nBan chi dc nhap so nguyen duong\n ");
            break;
        }
       
    }
    return 1;
}


[You must be registered and logged in to see this link.]

※ Bài viết cùng chuyên mục


Tác giảThông điệp
kitsudo
Member

kitsudo
Member
Giới tính : Nam
Tuổi : 30
Posts Posts : 235
Coins Coins : 581
Thanked Thanked : 59
Bài Giải 171 & 172 - Code by kitsudo Empty

Trích dẫn :
Bộ nhớ động nói chung
được quản lí bởi hệ điều hành và trong các môi trường đa nhiệm có thể
chạy một lúc vài chương trình có một khả năng có thể xảy ra là hết bộ
nhớ để cấp phát. Nếu điều này xảy ra và hệ điều hành không thể cấp
phát bộ nhớ như chúng ta yêu cầu với toán tử new, một con trỏ null
(zero) sẽ được trả về. Vì vậy các bạn nên kiểm tra xem con trỏ trả về
bởi toán tử new có bằng null hay không


Cái này mình mới được biết, mới học bài con trỏ của ông thầy KTLT ko thấy ổng nói về vấn đề này nên ko biết. Nếu đúng vậy thì tiếp thu thôi. T_T Bài Giải 171 & 172 - Code by kitsudo 26982

Code bạn sửa hàm if sai rồi thiếu "{}" và nếu bạn sửa như thế thì cần phải thêm bớt phần void main() nữa.

Lúc trước ko biết, giờ biết rồi update cái code:

Code:

void nhapmang(int* &p, int &n)
{
    printf("Nhap so phan tu: ");
    scanf("%d",&n);
    p=new int[n];
    if(p==null)
        printf(" Memorry Error ");
    else
    {
        for(int i=0;i<n;i++)
        {
            printf(" \nNhap phan tu thu %d:",i);
            scanf("%d",p+i);
            if(*(p+i)>0)
                continue;
            else
          {
                printf("\nBan chi dc nhap so nguyen duong\n ");
                break;
            }
        }
    }
}

Thanks vì góp ý . Mừng vì biết thêm tý kiến thức về con trỏ. Bài Giải 171 & 172 - Code by kitsudo 671946 Bài Giải 171 & 172 - Code by kitsudo 671946 Bài Giải 171 & 172 - Code by kitsudo 671946

※ Bài viết cùng chuyên mục


Tác giảThông điệp
nguyenhuuthiet
Member

avatar
Member
Giới tính : Nam
Tuổi : 33
Posts Posts : 46
Coins Coins : 95
Thanked Thanked : 0
Bài Giải 171 & 172 - Code by kitsudo Empty

thank you cac ban nhen
con bai nao nua ko anh em
box nhiu nhiu cho anh em tham khao nha

※ Bài viết cùng chuyên mục


Tác giảThông điệp
Sponsored content


Bài Giải 171 & 172 - Code by kitsudo Empty

※ Bài viết cùng chuyên mục


 
Bài Giải 171 & 172 - Code by kitsudo
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
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
Windows Việt :: Lưu Trữ :: Lưu Trữ - Các môn học cũ :: Kỹ Thuật Lập Trình-
[Windows Việt] Deverloped by Nguyễn Gia Phú - https://windows.forumvi.com
Powered by © Forumotion.com - phpBB™ version ©phpBB2
Go to top Go to bottom