Announcement

Collapse
No announcement yet.

Giúp em bài C nay với

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Giúp em bài C nay với

    Đề bài yêu cầu em xóa mọi số 0 trong mảng, chương trình em vẫn chạy được nhưng khi trong mảng có nhiều số 0 quá thì nó không xóa hết được, xem giúp em với:
    PHP Code:
    #include "stdafx.h"
    #include "conio.h"
    #include "stdio.h"
    void nhapmang(int a[],int n);
    void xuatmang(int a[],int n);
    int timmax(int a[],int n);
    int timmin(int a[],int n);
    int demso0(int a[],int n);
    void saptang(int a[],int n);
    void sapgiam(int a[],int n);
    int doixung(int a[],int n);// kieu int do no tra ve ok gia tri 0 va 1
    int ktsnt(int k);
    void insnt(int a[],int n);
    void xoa(int a[],int &n,int k);
    void chen(int a[],int &n,int k,int s);
    void xoapt0(int a[],int &n);
    void main()
    {
        
    int a[10],n,max,min,dem,k,s;
        
    printf("\nnhap so phan tu mang n:");
        
    scanf("%d",&n);
        
    nhapmang(a,n);
        
    printf("\nxuat mang n:");
        
    xuatmang(a,n);
        
    xoapt0(a,n);
        
    printf("\nXoa phan tu 0 cua mang:");
        
    xuatmang(a,n);
    }
    void nhapmang(int a[],int n)
    {
        for(
    int i=0;i<n;i++)
        {
            
    printf("nhap a[%d]=",i);
            
    scanf("%d",&a[i]);
        }
            
    }
    void xuatmang(int a[],int n)
    {
        for(
    int i=0;i<n;i++)
            
    printf("%d ",a[i]);
    }
    int timmax(int a[],int n)
    {
        
    int max=a[0];
        for(
    int i=0;i<n;i++)
            if(
    a[i]>max)
                
    max=a[i];
        
        return 
    max;
    }
    int timmin(int a[],int n)
    {
        
    int min=a[0];
        for(
    int i=0;i<n;i++)
            if(
    min>a[i])
                
    min=a[i];
        return 
    min;
    }
    int demso0(int a[],int n)
    {
        
    int dem=0;
        for(
    int i=0;i<n;i++)
            if(
    a[i]==0)
                
    dem++;
        return 
    dem;
    }
    void saptang(int a[],int n)
    {
        
    int i,j,temp;
        for(
    i=0;i<n-1;i++)
        for(
    j=i+1;j<n;j++)
            if(
    a[i]>a[j])
            {    
                
    temp=a[i];
                
    a[i]=a[j];
                
    a[j]=temp;
            }
    }
    void sapgiam(int a[],int n)
    {
        
    int i,j,temp;
        for(
    i=0;i<n-1;i++)
        for(
    j=i+1;j<n;j++)
            if(
    a[i]<a[j])
            {
                
    temp=a[i];
                
    a[i]=a[j];
                
    a[j]=temp;
            }
    }
    int doixung(int a[],int n)
    {
        
    int ok=1;
        for(
    int i=0;i<n/2;i++)
            if(
    a[i]!=a[n-i-1])
            {
                
    ok=0;break;
            }
        return 
    ok;
    }
    int ktsnt(int k)
    {
        
    int i,ok;
        
    ok=0;            
        if(
    k>=2);
        {
            for(
    i=2;i<k;i++)
                if(
    k%i==0)break;
            if(
    k==iok=1;
        }
        return 
    ok;

    }
    void insnt(int a[],int n)
    {
        for(
    int i=0;i<n;i++)
            if(
    ktsnt(a[i]))
                
    printf("\nsnt la a[%d]=%d",i,a[i]);
    }
    void xoa(int a[],int &nint k)
    {
        if(
    n>0&&k<n&&k>=0)
        for(
    int i=k;i<n-1;i++)
            
    a[i]=a[i+1];
        
    n--;
    }
    void chen(int a[],int &n,int k,int s)
    {
        if(
    k<0k=0;
        if(
    k>nk=n;
        for(
    int i=n-1;i>=k;i--)
            
    a[i+1]=a[i];
        
    a[k]=s;
        
    n++;
    }
    void xoapt0(int a[],int &n)
    {
        for(
    int i=0;i<n;i++)
            {
            if(
    a[i]==0)
                
    xoa(a,n,i);
            }

    Last edited by truonganpn; 31-12-2011, 02:16.

  • #2
    Để vào cái thẻ php đi, đọc mờ cả mắt !
    Bùm, Maria Ozawa Bin Laden, chuyên gia cưa bom hàng đầu Việt Nam
    Bùm, Maria Ozawa Bin Laden, chuyên gia cưa bom hàng đầu Việt Nam
    Bùm, Maria Ozawa Bin Laden, chuyên gia cưa bom hàng đầu Việt Nam
    Bùm, Maria Ozawa Bin Laden, chuyên gia cưa bom hàng đầu Việt Nam
    ...

    Comment


    • #3
      đang buồn ngủ mà nhìn bài này .....................zzzzzzzzz
      Hãy là chính mình!

      Comment


      • #4
        Lâu quá cũng không đụng đến C...^^
        bài em sai chỗ này...thêm 1 chữ thôi. Sửa hàm void xoapt0(int a[],int &n) thế này

        PHP Code:
        void xoapt0(int a[],int &n)
        {
            for(
        int i=0;i<n;i++)
            {
                if(
        a[i]==0)
                {
                
        xoa(a,n,i);
                
        i--;
                }
            }

        Last edited by 09520601; 31-12-2011, 02:35.

        Comment


        • #5
          Originally posted by 11520664 View Post
          Đề bài yêu cầu em xóa mọi số 0 trong mảng, chương trình em vẫn chạy được nhưng khi trong mảng có nhiều số 0 quá thì nó không xóa hết được, xem giúp em với:
          Code để trong thẻ [php] hoặc thẻ [code] cho dễ đọc nha em. Lần đầu tiên tôi sửa giùm, lần sau tự làm nhá.

          Thân.

          Comment


          • #6
            dạ, em chạy được rồi, thanks anh nhiều

            Comment


            • #7
              Sao trong VS 2005 không chạy được thư viện conio.h vậy mấy anh.
              Trong VC++2010 chạy bình thường

              #include <conio.h>
              void main()
              {
              getch();
              }

              Trong VS báo lỗi hàm getch(). hàm clrscr; cung ko chạy được

              Comment


              • #8
                Originally posted by 11520604 View Post
                Sao trong VS 2005 không chạy được thư viện conio.h vậy mấy anh.
                Trong VC++2010 chạy bình thường

                #include <conio.h>
                void main()
                {
                getch();
                }

                Trong VS báo lỗi hàm getch(). hàm clrscr; cung ko chạy được
                Vs 2005 dùng thư viện conio.h bình thường mà, còn slrscr(); bạn có thể thay :
                #include<stdlib.h>
                system("cls"); (hàm này có khác slrscr(); ở chỗ nó gọi CMD và gõ đối số ở đây là cls vì vậy nó chậm hơn slrscr();, còn slrscr(); thì không gọi CMD mà truy cập thẳng đến hàm API của dos )
                hay thay getch(); = system("pause"); cùng thư viện #include<stdlib.h>
                Blog Hứa Anh Tôi trên mạng xã hội: Hứa Anh + | FaceBook | Thủ thuật Máy tính

                Comment

                LHQC

                Collapse
                Working...
                X