Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: cần sửa lối về ma trận vuông

  1. #1
    Ngày gia nhập
    09 2011
    Bài viết
    0

    Mặc định cần sửa lối về ma trận vuông

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<malloc.h>
    int nhap(int s[][20],int n)
    {int i,j;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {printf("nhap phan tu %d thu %d ",i,j);
    scanf("%d",&s[i][j]);
    }
    }
    void xuat(int s[][20],int n)
                {
                    int i,j;
                    for (i=0;i<n;i++)
                    {
                        for (j=0;j<n;j++)
                        {
                            printf("%5d  ",s[i][j]);
                        }
                        printf("\n");
                    }
                }
    int dem(int s[][20],int n,int k)
    {int i,j,d=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {if (s[i][j]==k)
    d++;
    }
    return d;
    }
    int kiemtra(int s[][20],int n,int k)
    {int i,j,kt=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    if (s[i][j]==k)
    kt++;
    if (kt>1)
    return 0;
    return 1;
    }
    int xuathien(int s[][20],int n)
    {int i,j;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {if (kiemtra(s,n,s[i][j]==1))
    
    printf("\n so %d xuat hien %d",s[i][j],dem(s,n,s[i][j]));
    }
    }
    int main ()
    {int a[20][20],n;
    printf("hay nhap n : ");
    scanf("%d",&n);
    nhap(a,n);
    xuat(a,n);
    xuathien(a,n);
    getch ();
    return 0;
    }
    đề la yều cầm đếm số lần xuất hiện của 1 phần tử trong ma trận ,nhưng không đươc trùng
    vd nha 1 1 3 4
    xuất ra
    1 xuất hiện 2 lần
    3 xuất hiện 1 lần
    4 xuất hiện 1 lần
    em dùng hàm kiểm tra để xuất ra kết quả không trùng nhưng sao sai em không hiểu??
    ai có thể sửa trực tiếp cho em với

  2. #2
    Ngày gia nhập
    09 2011
    Bài viết
    0

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<malloc.h>
    int nhap(int s[][20],int n)
    {int i,j;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {printf("nhap phan tu %d thu %d ",i,j);
    scanf("%d",&s[i][j]);
    }
    }
    void xuat(int s[][20],int n)
                {
                    int i,j;
                    for (i=0;i<n;i++)
                    {
                        for (j=0;j<n;j++)
                        {
                            printf("%5d  ",s[i][j]);
                        }
                        printf("\n");
                    }
                }
    int dem(int s[][20],int n,int k)
    {int i,j,d=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {if (s[i][j]==k)
    d++;
    }
    return d;
    }
    int kiemtra(int s[][20],int n,int k)
    {int i,j,kt=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    if (s[i][j]==k)
    kt++;
    if (kt>1)
    return 0;
    return 1;
    }
    int xuathien(int s[][20],int n)
    {int i,j;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {if (kiemtra(s,n,s[i][j]==1))
    
    printf("\n so %d xuat hien %d",s[i][j],dem(s,n,s[i][j]));
    }
    }
    int main ()
    {int a[20][20],n;
    printf("hay nhap n : ");
    scanf("%d",&n);
    nhap(a,n);
    xuat(a,n);
    xuathien(a,n);
    getch ();
    return 0;
    }

  3. #3
    Ngày gia nhập
    09 2011
    Bài viết
    0

    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<malloc.h>
    int nhap(int s[][20],int n)
    {int i,j;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {printf("nhap phan tu %d thu %d ",i,j);
    scanf("%d",&s[i][j]);
    }
    }
    void xuat(int s[][20],int n)
                {
                    int i,j;
                    for (i=0;i<n;i++)
                    {
                        for (j=0;j<n;j++)
                        {
                            printf("%5d  ",s[i][j]);
                        }
                        printf("\n");
                    }
                }
    int dem(int s[][20],int n,int k)
    {int i,j,d=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {if (s[i][j]==k)
    d++;
    }
    return d;
    }
    int kiemtra(int s[][20],int n,int k)
    {int i,j,kt=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    if (s[i][j]==k)
    kt++;
    if (kt>1)
    return 0;
    return 1;
    }
    int xuathien(int s[][20],int n)
    {int i,j;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {if (kiemtra(s,n,s[i][j]==1))
    
    printf("\n so %d xuat hien %d",s[i][j],dem(s,n,s[i][j]));
    }
    }
    int main ()
    {int a[20][20],n;
    printf("hay nhap n : ");
    scanf("%d",&n);
    nhap(a,n);
    xuat(a,n);
    xuathien(a,n);
    getch ();
    return 0;
    }

  4. #4
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    hàm nhập vs xuất hiện có kiểu trả về là int mà không có giá trị trả về vs lại cũng cần trả về cái gì
    HT117-5277

  5. #5
    Ngày gia nhập
    05 2012
    Bài viết
    0

    hàm kiểm tra để làm gì
    Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<malloc.h>
    int nhap(int s[][20],int n)
    {int i,j;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {printf("nhap phan tu a[%d][%d]",i,j);
    scanf("%d",&s[i][j]);
    }
    }
    void xuat(int s[][20],int n)
                {
                    int i,j;
                    for (i=0;i<n;i++)
                    {
                        for (j=0;j<n;j++)
                        {
                            printf("%5d  ",s[i][j]);
                        }
                        printf("\n");
                    }
                }
    int dem(int s[][20],int n,int k)
    {int i,j,d=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {if (s[i][j]==k)
    d++;
    }
    return d;
    }
    int kiemtra(int s[][20],int n,int k)
    {int i,j,kt=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {
    if (s[i][j]==k)
    kt++;
    }
    if (kt>0)
    return 1;
    return 0;
    }
    int xuathien(int s[][20],int n)
    {int i,j,h=0;
    for (i=0;i<n;i++)
    for (j=0;j<n;j++)
    {
    	if (s[i][j]!=h)
    	{
    printf("\n so %d xuat hien %d",s[i][j],dem(s,n,s[i][j]));
       h=s[i][j];
    }
    }
    }
    int main ()
    {int a[20][20],n;
    printf("hay nhap n : ");
    scanf("%d",&n);
    nhap(a,n);
    xuat(a,n);
    xuathien(a,n);
    getch ();
    return 0;
    }

  6. #6
    Ngày gia nhập
    04 2012
    Bài viết
    42

    Mặc định cần sửa lối về ma trận vuông

    Bài này không khó lắm....Đây là ý tưởng của mình, bạn tham khảo nhé: Trước tiên bạn sao chép mảng chính ra 1 mảng phụ. Tiếp theo, xóa các phần tử trùng nhau, chỉ gữi lại 1 phần tử trong mảng tạm. Tiếp đến, lấy từng phần tử trong mảng tạm, đem so sánh với mảng chính. Nếu như phần tử trong mảng phụ == phần tử trong mảng chính thì tăng biến đếm lên.
    Demo cái nha:
    C++ Code:
    1.  
    2. int* copyArray(int* a, int n, int* &temp)
    3. {
    4.     temp= new int [20];
    5.     for(int i=0; i<n; ++i)
    6.         temp[i]=a[i];
    7.     return temp;
    8. }
    9. int* xoatrung(int* temp, int n, int& m)
    10. {
    11.     for(int i=0; i<n; ++i)
    12.     {
    13.         for(int j=i+1; j<n; ++j)
    14.         {
    15.             if(temp[i]==temp[j])
    16.             {
    17.                 for(int k=j+1; k<n; ++k)
    18.                     temp[k-1]=temp[k];
    19.                 n--;j--;
    20.             }
    21.         }
    22.     }
    23.     m=n;
    24.     return temp;
    25. }
    26. int countNum(int *a, int n, int x)
    27. {
    28.     int count =0;
    29.     for(int i=0; i<n; ++i)
    30.         if(a[i]==x)
    31.             count++;
    32.     return count;
    33. }
    34. void xuat(int* a, int n,  int* temp, int m)
    35. {
    36.     for(int i=0; i<m; ++i)
    37.         cout<<temp[i]<<" xuat hien "<<countNum(a,n,temp[i])<<" lan."<<endl;
    38. }

    Cái này mình demo bằng NotePad. Nên không bít có lỗi ở đâu hk nữa
    C Code:
    1. while (!silly)
    2.     cout<<"Study everything !";

  7. #7
    Ngày gia nhập
    03 2012
    Bài viết
    27

    C++ Code:
    1. #include <iostream>
    2.  
    3. using namespace std;
    4.  
    5. int main()
    6. {
    7.     int n,*a,i,j,k,test=1,d;
    8.     cout<<"Nhap so phan tu cua mang:";
    9.     cin>>n;
    10.     a=new int[n];
    11.     for(i=0;i<n;i++)
    12.     {
    13.         cout<<"a["<<i+1<<"]=";
    14.         cin>>a[i];
    15.     }
    16.     for(i=0;i<n;i++)
    17.     {
    18.         d=1;
    19.         for(j=0;j<i;j++)
    20.         {
    21.             if(a[i]==a[j])
    22.             {
    23.                 test=0;
    24.                 break;
    25.             }
    26.             else test=1;    
    27.         }
    28.         if(test==0) continue;
    29.         else
    30.         {      
    31.             for(k=i+1;k<n;k++)
    32.             {
    33.                 if(a[k]==a[i]) d++;                  
    34.             }          
    35.             cout<<a[i]<<" xuat hien "<<d<<" lan.\n";
    36.             }
    37.     }
    38.     system("pause");
    39.     return 0;    
    40. }
    Nếu có sai xót gì mong các bạn, các anh chị sửa giúp.

Các đề tài tương tự

  1. Trao đổi liên kết, trao doi logo, Text Link với các webforumblog (free)
    Gửi bởi nguyenlam14990 trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 31
    Bài viết cuối: 13-03-2012, 11:53 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn