Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
04/06/2012 16:06 # 1
truongvienthanh
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 4/10 (40%)
Kĩ năng: 1/10 (10%)
Ngày gia nhập: 10/02/2012
Bài gởi: 4
Được cảm ơn: 1
[Trợ giúp] Mảng 2 chiều


 

Mảng 1 chiều:
1. Viết chương trình khai báo mảng 1 chiều có thể chứa tối đa 100 phần tử số nguyên, với menu như sau:
1. Nhập Mảng
2. Sắp xếp mảng theo thứ tự tăng dần
3. Sắp xếp mảng theo thứ tự giảm dần
4. Đếm các phần tử có giá trị = X xuất hiện trong mảng bao nhiêu lần
5. Tìm phần tử có giá trị = X trong mảng và thay phần tử này bởi phần tử Y
6. Đếm các phần tử có giá trị = X (bằng) , >X (lớn hơn) , <X (nhỏ hơn)
7. Tìm phần tử có giá trị lớn nhất (Max) trong mảng
8. Tìm phần tử có giá trị nhỏ nhất (Min) trong mảng
9. Cho biết các vị trí xuất hiện của phần tử lớn nhất (Max) trong mảng
10. Cho biết vị trí xuất hiện đầu tiên của phần tử có giá trị = X trong mảng
11. Cho biết vị trí xuất hiện cuối cùng của phần tử có giá trị = X trong mảng
12. Tính tổng các phần tử trong mảng
13. Xuất mảng ra màn hình để xem lại
14. Kết thúc chương trình. 
 
 
#include<stdio.h>
#include<conio.h>
int A[100],i,j,chon,N,X,Y,B;
void NHAPM(int M[100]);
void SXMTD(int M[100]);
void SXMGD(int M[100]);
void THAYXY(int X,int Y,int M[100]);
void DEM3LOAI(int X,int M[100]);
int TIMMAX(int M[100]);
int DEMMAX(int M[100]);
int DEMX(int M[100],int X);
int TIMMIN(int M[100]);
void VITRIMAX( int max,int M[100]);
int VTDT(int X,int M[100]);
int VTCC( int X,int M[100]);
int TINHTONG(int M[100]);
void XUATM(int[100]);
void main()                        
{do { clrscr();printf("1.Nhap mang:\n");
      printf("2.Sap xep tang dan:\n");
      printf("3.Sap xep mang giam dan:\n");
      printf("4.Dem X :\n");
      printf("5.Tim X va thay X=Y:\n");
      printf("6.Dem cac phan tu co gia tri =X,>X,<X:\n");
               printf("7.Tim max:\n");
      printf("8.Tim min:\n");
      printf("9.Dem phan tu MAX:\n");
      printf("10.Tim vi tri xuat hien dau tien cua phan tu co gia tri =X:\n");
      printf("11.Tim vi tri xuat hien cuoi cung cua phan tu co gia tri =X:\n");
      printf("12.Tinh tong cac phan tu trong mang:\n");
      printf("13.Xuat mang:\n");
      printf("14.Ket thuc CT:\n");
      printf("Nhan 1 so de chon:\n");
      scanf("%d",&chon);
     switch(chon)
     { case 1:printf("cho biet chieu dai mang:");scanf("%d",&N);
     NHAPM(A);getch();break;
       case 2: SXMTD(A);getch();break;
       case 3: SXMGD(A);getch();break;
       case 4:printf("nhap vao so can dem X:");scanf("%d",&X);
     printf("Mang co %d phan tu=%d",DEMX(A,X),X);
     getch();break;
       case 5:printf("Nhap vao so X:"); scanf("%d",&X);
     printf("Nhap vao so Y:");scanf("%d",&Y);
     getch();break;                          
       case 6:printf("Nhap vao so can dem:");scanf("%d",&X);
              getch();break;
       case 7:printf("phan tu max=%d",TIMMAX(A));
             getch();break;
       case 8:printf("phan tu min=%d",TIMMIN(A));
     getch();break;
       case 9: VITRIMAX(B,A);
     getch();break;
       case 10:VTDT(B,A);
      getch();break;
       case 11:VTCC(B,A);
     getch();break;
       case 12:printf("tinh tong:\n");
               getch();break;
       case 13:clrscr();XUATM(A);break;
      }
     } while (chon<=13);
}//ket thuc ham main()
  void NHAPM(int M[100])
   {clrscr();printf("Nhap mang\n");
    for(i=1;i<=N;i++)
    {printf("Nhap phan tu thu %:",i);
    scanf("%d",&M[i]);
    }
   }
  void SXMTD(int M[100])
   { int tam;
       for(i=1;i<=N-1;i++)
for(j=i+1;j<=N;j++)
  if(M[i]>M[j])
  {tam=M[i];
  M[i]=M[j] ;
  M[j]=tam;
  }
   }
  void SXMGD(int M[100])
   { int tam;
       for(i=1;i<=N-1;i++)
for(j=i+1;j<=N;j++)
  if(M[i]<M[j])
  {tam=M[i];
  M[i]=M[j];
  M[j]=tam;
  }
   }
  int DEMX(int M[100],int X)
   {   int DEM=0;
     for(i=1;i<=N;i++)
       if(M[i]==X) DEM++;
       return DEM;
   }
  void THAYXY(int X,int Y,int M[100])
    {for (i=1;i<=N;i++)
       if(M[i]==X) M[i]=Y;
    }
  void DEM3LOAI(int X,int M[100])
   { int DEM1=0,DEM2=0,DEM3=0;
       for (i=1;i<=N;i++)
{ if(M[i]==X) DEM1++;
if(M[i]<X) DEM2++;
if(M[i]>X) DEM3++;
}
      printf("Mang co %d phan tu=X la %8d",DEM1);
      printf("mang co %d phan tu <X la %8d",DEM2);
      printf("Mang co %d phan tu >Y la %8d",DEM3);
   }
  int TIMMAX(int M[100])
   {int mmax=M[1];
      for(i=2;i<=N;i++)
if(mmax<M[i]) mmax=M[i];
return mmax;
   }
  
  int TIMMIN(int M[100])
  { int mmin=M[1];
      for(i=2;i<=N;i++)
if(mmin>M[i]) mmin=M[i];
return mmin;
   }
  void VITRIMAX(int M[100])
   {int mmax=M[1];
      for (i=1;i<=N;i++)
if(mmax<M[i]) mmax=M[i];
      for(i=1;i<=N;i++)
if(M[i]==mmax) printf("vi tri thu%d",i);
   }
  int  VTDT(int X,int M[100])
   { int VT;
       for (i=1;i<N;i++)
if(X==M[i]) {VT=i;break;}
return VT;
   }
  int VTCC( int M[100])
   {int VT;
     for(i=N;i>=1;i--)
       if(X==M[i]){ VT=i;break;}
       return VT;
   }
  int TINHTONG(int M[100])
   { int P=0;
     for (i=1;i<=N;i++)
P=P+M[i];
return P;
   }
  void XUATM(int M[100])
  { clrscr();printf("Noi dung mang\n");
   for(i=1;i<=N;i++)
    printf("%6d",M[i]);
    getch();
  }



 
Các thành viên đã Thank truongvienthanh vì Bài viết có ích:
04/06/2012 20:06 # 2
anh2bmw
Cấp độ: 48 - Kỹ năng: 44

Kinh nghiệm: 255/480 (53%)
Kĩ năng: 408/440 (93%)
Ngày gia nhập: 27/11/2009
Bài gởi: 11535
Được cảm ơn: 9868
Phản hồi: mong các bạn chỉ dùm


Mình không hiểu ý bạn muốn nhờ mọi người giúp gì. Nhưng nhìn code rối mắt quá đi. Sao ko xài DEV C đi bạn :)



Thông tin liên hệ anh2bmw khi có bất kỳ thắc mắc:
skype: trantien281
mail: 
anh2bmw@gmail.com


 

 
Copyright© Đại học Duy Tân 2010 - 2024