TinVIP
Chúc mừng bạn đã đến diễn đàn Tin Vip. Bạn hãy đăng nhập ngay để viết bài chia sẽ-giao lưu-hoc tập...

TinVIP

(¯¯»»» Tin VIP(2k9-2k12) --- Trường CĐSP Nha Trang «««¯¯)
 
IndexĐăng kýĐăng Nhập
Diễn Đàn TinVIp Nha Trang
Latest topics
» Trường Đại học Khánh Hòa: Hướng đến đào tạo nguồn nhân lực chất lượng cao
Wed Jun 03, 2015 8:47 pm by vohuuhau

» Tổng hợp mảng 1 chiều C++
Wed May 06, 2015 5:22 pm by vohuuhau

» giai gap dum bai tap c++
Wed May 06, 2015 5:12 pm by vohuuhau

» Bị đâm thủng tim tại tiệm internet
Tue Oct 29, 2013 5:09 pm by vohuuhau

» Tìm thấy xác chị huyền
Tue Oct 29, 2013 5:01 pm by vohuuhau

» lam on lam dum bai tap nay
Thu Dec 20, 2012 7:48 pm by Ly' Van Toan

» Tìm người iu...
Sun Nov 04, 2012 5:07 pm by Admin

» Sinh viên ... một thời để nhớ!
Sun Nov 04, 2012 5:06 pm by Admin

» Game vua trò chơi toàn tập
Sun Oct 21, 2012 12:10 am by Admin

» giới thiệu một website của lớp tinK36
Sun Oct 21, 2012 12:05 am by Admin

Events


Share | 
 

 Tổng hợp mảng 1 chiều C++

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
vohuuhau
----unlimited----
----unlimited----


Tổng số bài gửi : 785
Bình chọn : 1367
Join date : 07/01/2010
Age : 31
Đến từ : Thiên đường cỏ xanh ^_^

Bài gửiTiêu đề: Tổng hợp mảng 1 chiều C++   Wed May 06, 2015 5:22 pm

Code:
// LAM VIEC VOI MANG 1 CHIEU
#include<iostream>
#include<math.h>
using namespace std;
// nhap mang
void hoandoi(int &a,int &b);
void xoavitri(int a[], int &n, int pos);
void nhapmang(int a[],int &n)
{
   int i;
   cout<<"Nhap so phan tu:"; cin>>n;
   for (i=0;i<n;i++)
   {
      cout<<"a["<<i+1 <<"]= " ; cin>>a[i];
   }
}
// xuat mang
void xuatmang(int a[],int n)
{
   for (int i=0;i<n;i++)
   {
   
   cout<<a[i] <<"  ";
   
   }
}
//sap xep theo kieu noi bot
void sx_tang(int a[], int n) //BubleSort
{
   // duyet gia tri cac phan tu dau tien den ke cuoi
   //duyet them gia tri cac phan tu chay tu cuoi den ke dau
   // neu ta thay phan tu nao lon hon phan tu cuoi thi doi cho
  for(int i = 0; i<n-1; i++)
      for(int j = n-1; j>i; j--)
      if(a[j]<a[j-1])
        hoandoi(a[j],a[j-1]);
}
// kiem tra so nguyen to neu la so nguyen to thi tra kq=1
int ktnguyento(int n)
{
int i;
int m;
/*muon chuong trinh chay nhanh ta chi can tinh dum may mot so phep toan
don gian nhu n=2 va n=3 la cac so nguyen to */
if(n == 2 || n == 3)
return 1;
// doi vo nhung uoc so cua 2 voi 3 deu khong phai la so nguyen to
if (n == 1||n % 2 == 0||n % 3 == 0)
return 0;
//gan m bang ham can truoc khi vao vong lap
//nham muc dich de vong lap chay nhanh hon
// vi khi khong gan thi moi khi lap la goi ham lan nua
m = (int)sqrt(n);
//i chay tu 5 va da loai nhung uoc so cua 2 va 3 voi i+6
for(i=5;i<=m;i=i+6)
if(n % i == 0 || n % (i+2) == 0)
return 0;
return 1;
}
// chen mot phan tu tai vi tri pos va gia tri chen la x
void chenmang(int a[],int &n,int pos, int &x)
{
   cout<<"Nhap vi tri chen: ";
   cin>>pos;
   cout<<"Nhap gia gia tri chen: ";
   cin>>x;
   // pos gan cho pos-1 vi trong c bat dau tu phan tu 0
   pos=pos-1;
   //gan pos la mot vi tri trong mang
   for (int i=n;i>=pos;i--)
   a[i]= a[i-1];
   // neu pos la vi tri nam ngoai mang
   if(pos>n) pos =n;
   a[pos]=x;
   //tang n len mot
   n++;
}
//Ham xoa tai vi tri pos
void xoavitri(int a[], int &n, int pos)
{
cout << "\n Nhap vi tri can xoa: ";
cin>> pos;
// vi tri trong c bat dau tu 0 nen ta phai giam 1 de logic
   pos=pos-1;
// xoa tai vi tri pos va day cac gia tri ve ben phai roi
// giam n
for (int i = pos; i < n-1 ; i++)
a[i] = a[i+1];
n--;
}
void xoavitri1(int a[], int &n, int pos)
{
// vi tri trong c bat dau tu 0 nen ta phai giam 1 de logic
// xoa tai vi tri pos va day cac gia tri ve ben phai roi
// giam n
for (int i = pos; i < n-1 ; i++)
a[i] = a[i+1];
n--;
}
// hoan doi vitri 2 so
void hoandoi(int &a,int &b)
{
   int t;
   t=a;
   a=b;
   b=t;
}
/* ham tach chan le
pt_le so phan tu le tuong pt_chan la so phan tu chan
*/
void tach_chan_le(int a[],int n,int chan[],int &pt_chan,int le[],int &pt_le)
{
   // koi dau gia tri cho cac phan tu chan le neu la chan cho vao mang chan
   // va tang pt chan len doi voi le thi nguoc lai
   pt_le=pt_chan =0;
   for (int i=0; i<n;i++)
   if(a[i]%2==0) chan[pt_chan++]=a[i];
   else le[pt_le++] =a[i];
}
// Ham max
int hammax(int a[],int n)
{
   // Gan mot bien max bang phan tu dau lam linh canh
   //roi duyet tu phan tu thu hai cho den het mang
   //neu co phan tu nao lon hon max thi ta gan max cho phan tu do
int   max=a[0];
   for (int i=1; i<n;i++)
   if(max<a[i]) max=a[i];
   return max;
}

// HAM TIM SO NHO  NHAT CO TRONG MANG
int hammin(int a[],int n)
{
   int min=a[0];
   for(int i=0;i<n;i++)
    if(a[i]<min) min=a[i];
   return min;
}
// HAM TACH SO AM
void ham_mang_am(int a[],int n,int am[],int &ptam)
{
   ptam=0;
   for(int i=0; i<n;i++)
      if(a[i]<0) am[ptam++]=a[i];
}
//HAM TIM SO AM LON NHAT CO TRONG MANG
int ham_am_max(int a[],int n)
{
   int temp[100],k=0;
   for (int i=0; i<n;i++)
      if(a[i]<0) temp[k++]=a[i];
   if (k!=0) return hammax(temp,k);
   return 0;
}
//HAM TIM SO NGUYEN TO LON NHAT CO TRONG MANG
int songuyento_max(int a[],int n)
{
   int temp[100],k=0;
   for (int i=0; i<n;i++)
      if(ktnguyento(a[i])==1) temp[k++]=a[i];
if (k!=0) return hammax(temp,k);
return 0;
}
//HAM CHO MANG TOAN CHAN
void mang_chan(int a[],int na,int b[],int &nb)
{
      for(int i=0;i<na;i++)
    if(a[i]%2==0) b[nb++]=a[i];
}
//HAM CHO MANG TOAN le
void mang_le(int a[],int na,int le[],int &nb)
{
      for(int i=0;i<na;i++)
    if(a[i]%2!=0) le[nb++]=a[i];
}
// HAM KIEU TRA TOAN CHAN
bool Kt_mang_toan_chan(int a[],int n)
{
   int i;
   for (i=0;i<n;i++)
   if(a[i]%2!=0) return false;
   return true;
}
// HAM KIEM TRA MANG TOAN LE
bool Kt_mang_toan_le(int a[],int n)
{
   int i;
   for (i=0;i<n;i++)
   if(a[i]%2==0) return false;
   return true;
}
//HAM KIEM TRA MANG TOAN SO NGUYEN TO
bool kt_toan_nguyento(int a[],int n)
{
   int i;
   for (i=0;i<n;i++)
if(   ktnguyento(a[i]==0)) return false;
   return true;
}
// DEM SO TRONG MANG CO BAO NHIEU SO CHIA HET CHO 4 MA KHONG CHIA HET CHO 5
int dem_4_no5(int a[],int n)
{
   int i,dem=0;
   for(i=0;i<n;i++)
   if(a[i]%4==0 && a[i]%5!=0) dem++;
   return dem;
}
// TONG CAC SO NGUYEN TO CO TRONG MANG
int tong_nguyento(int a[],int n)
{
   int i,s=0;
      for(i=0;i<n;i++)
      if(ktnguyento(a[i])==1) s+=a[i];
      return s;
}
// TIM VI TRI DAU TIEN LA SO NGUYEN TO CO TRONG MANG
int tim_vt_nguyento(int a[],int n)
{
   int i,vt=-1;
      for(i=0;i<n;i++)
      if(ktnguyento(a[i])==1)
       {
          vt=i;
          return vt;
      }
   return vt;
}
// XOA TAT CA CAC PHAN TU SO NGUYEN TO TRONG MANG
void xoa_nguyento_mang(int a[],int &n)
{
   int vt=tim_vt_nguyento(a,n);
   while(vt!=-1)
   {
   xoavitri1(a,n,vt);
   vt=tim_vt_nguyento(a,n);
   }   
}
//CHEN SO 0 VAO sau SO NGUYEN TO
void chen_0_nguyento(int a[],int n)
{
   for(int i=0;i<n;i++)
    if(ktnguyento(a[i])==1) a[i]*=10;
}
// SUA CAC SO NGUYEN TO TRONG MANG THANH SO 0
void sua_nguyento_thanh0(int a[],int n)
{
   for(int i=0;i<n;i++)
    if(ktnguyento(a[i])==1) a[i]=0;
}

//HAM CHINH
int main()
{
   int a[100],c[100],b[100],n,i,dem,max,pos,x,ptchan,ptle,maxto;
   nhapmang(a,n);
   cout<<"Mang ban dau"<<endl;
   xuatmang(a,n);
/*   xoa_nguyento_mang(a,n);
   cout<<endl;
   xuatmang(a,n);

   maxto =songuyento_max(a,n);
   maxto ==0?cout<<"\n khong co so nguyen to ":cout<<"\n so nguyen to lon nhat la:"<<maxto ;

   tach_chan_le(a,n,c,ptchan,b,ptle);
   cout <<"\n Phan tu chan: ";
   xuatmang (c,ptchan);
   cout <<"\n Phan tu le: ";
   xuatmang (b,ptle);
   
         cout<<"\n Sap xep tang: ";
   sx_tang(a,n);
   xuatmang(a,n);
   dem=0;
   max=0;
   //liet ke so nguyen to
   cout<<"\n Cac so nguyen to co trong mang: ";
   for(i=0;i<n;i++)
   {
      if(ktnguyento(a[i])==1)
      {
         cout<<a[i]<<"  ";
         dem++;
         if(max<a[i]) max=a[i];
      }
   }
   cout<<"\n Chen mang : \n"; 
   chenmang(a,n,pos,x);
   xuatmang(a,n);
   
   cout<<"\n Xoa mang : \n"; 
   xoavitri(a,n,pos);
   xuatmang(a,n);
*/
   system("pause");
}

_________________
Cuộc sống là một điều đơn giản nếu ta sống với nó cũng thế

Về Đầu Trang Go down
 

Tổng hợp mảng 1 chiều C++

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» [Giúp đỡ] Mua điều hòa 2 chiều, chọn loại nào???
» Các kênh có chiếu phim hay fee.....................
» Đại chiến trình duyệt web năm 2011, ai là kẻ chiến thắng?
» UEFA Champion League và Europa League 2011 -2012 trên VTV3
» ti vi sam sung cs21a530fl bị co chiều ngang và hẹp theo chiều dọc
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
TinVIP :: Góc học tập :: Tài Liệu Học Tập-
Chuyển đến