intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chuyên đề mảng 1 chiều phần 3

Chia sẻ: Nguyễn Thị Ngọc Huỳnh | Ngày: | Loại File: PDF | Số trang:19

172
lượt xem
50
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cho 2 mảng tăng. Hãy trộn thành 1 mảng giảm dần voi d sapxep(int a[],int n) { for (i nt i =0;ia[j]) { int temp=a[i]; a[i] = a[j]; a[j]=temp; } } } } voi d TronMang(int a[], int b[], int c[], int na, int nb, int &nc) { nc = na + nb; sapxep(a,na); //Sap xep tang mang A sapxep(b,nb);

Chủ đề:
Lưu

Nội dung Text: Chuyên đề mảng 1 chiều phần 3

  1. } } } } voi d TronMang(int a[], int b[], int c[], int na, int nb, int &nc) { nc = na + nb; s apxep(a,na); //Sap xep tang mang A s apxep(b,nb); //Sap xep tang mang B int vta=0,vtb=0; f or (i nt i =0;i b[vtb]) { c[i] = a[vta]; vta-- ;
  2. } else { c[i] = b[vtb]; vtb-- ; } } else if (vtb < 0) { c[i] = a[vta]; vta-- ; } else { c[i] = b[vtb]; vtb-- ; } } } Kĩ thuật thêm 2 66/ Thêm 1 ptử x v ào mảng tại v ị trí k . voi d themgiatri(int a[], i nt &n, i nt x, int k) { f or (i =n; i>k; i -- ) { a [i] = a[i -1]; } a [k] = x; n ++; } 2 67/ Hàm nhập mảng sao cho khi nhập x ong thì giá trị trong mảng s ắp xế p giảm dần . voi d nhapmang(int a[], int &n) { printf("Nhap mang 1 chieu\n"); printf("Nhap n : "); scanf("% d",&n); while (n
  3. { int i,j; f or (i =0; i a[i]) { int temp = x; f or (k = n; k>i ; k -- ) { a [k] = a[k -1]; } a [i] = temp; break; } } n ++; } 2 70/ Nhập mảng sau khi nhập xong đã tự s ắp xế p tăng dần voi d nhapmang(int a [], int &n) { printf("Nhap mang 1 chieu\n"); printf("Nhap n : "); scanf("% d",&n); while (n
  4. a [i] = a[i +1]; } n --; } float lonnhat(float a[], int n) { fl oat max = a[0]; f or (i nt i =1; i
  5. 2 75 / Xóa tất cả số chính phương trong mảng . voi d xoavitri(int a[], i nt &n, int k) { f or (i nt i =k; i
  6. return 1 ; } voi d xoamang(int a[], int &n) { f or (int i=0; i =2) { i f (songuyento(a[i ])==1) { x oavitri(a,n,i); i --; } } } } 2 78/ xóa tất cả ptử trùng nhau trong mảng và chỉ g iữ lại duy nhất 1 ptử . voi d xoavitri(int a[], i nt &n, int k) { f or (i nt i =k; i
  7. } } } Kĩ thuật xử lý mảng 2 80/ Hãy đưa s ố 1 về đầu mảng . voi d DoiCho(int a[], int n, int k) { f or(int i = k ; i>0; i --) { a [i] = a[i -1]; } a [0] = 1; } voi d duaMotvedau(int a[], int n) { f or (i nt i =0; i0; i --) { a [i] = a[i -1]; } a [0] = tam; } voi d dua0(int a[], int k, int vi trichancuoi) { f or(int i = k ; i>vi trichancuoi; i --) { a [i] = a[i -1]; } a [vi trichancuoi] = 0; } voi d sapxep(int a[], int n) { int i; int vitrichancuoi ; f or (i =0; i
  8. dua0(a,i,vitrichancuoi); // vi tri i } } } 2 82/ Đưa các số chia hế t cho 3 về đầu mảng . voi d DoiCho(int a[], int n, int k) { int tam = a[k]; f or(int i = k ; i>0; i --) { a [i] = a[i -1]; } a [0] = tam; } voi d chiahetchoba(int a[], int n) { f or (i nt i =0; i
  9. b =tam; } voi d daoduong(int a[], i nt n) { f or (i nt i =0; i 0) { h oanvi (a[i],a[j]); } } } } 2 86/ Dịch trái xoay vòng các ptử trong mảng . voi d dichtrai(int a[], int n) { int tam = a[0]; f or (i nt i =0; i0; i -- ) { a [i]=a[i -1]; } a [0]= tam; } 2 88 /Hãy xuất ptử trong mảng theo yêu c ầu: chẵn vàng, lẻ trắng . voi d color (int a) { HANDLE mau; mau = GetStdHandle(STD_OUTPUT_ HANDLE); S etConsoleTextAttri bute(mau,a); } voi d XuatChanVang LeTrang(int a[], int n) { f or (i nt i =0; i
  10. { if (a[i]% 2==0) { printf("% 4d",a[i]); } } printf("\n\t"); f or (i =0; i
  11. int phannguyen = (int) (n) ; fl oat phanle = n - phannguyen; if (phanle
  12. { f or(int i=0; i
  13. { int ChieuDai; int b[100], nb; f or (i nt i =0; i
  14. } } } 2 98/ Đế m mảng con tăng có độ dài lớn hơn 1 . int ktramangtang (int b[], i nt nb) { f or(int i=0; ib[i+1 ]) return 0; } return 1; } voi d Demcontang(int a[], int n) { int chieudaicon, b[100], nb; int dem=0; f or (i nt i =0; i
  15. } } 3 00/ Đế m mảng con giảm . int ktramanggiam(float b[], int nb) { f or(int i=0; i
  16. f or (i =0; i
  17. } } } 3 05 * Tìm dãy con toàn dương có tổ ng lớn nhất . voi d DayConToanDuong TongLonNhat(int a[], int n) { int i,l,k,s=0,Stam=0,test,vt,pt; f or (i =0;i
  18. int b[100], nb=0; f or (i nt i =0; i
  19. ----------Hế t M ảng 1 chiề u -------- B ài tổ ng hợp nâng cao chút c ủa mảng 1 chiề u 3 11/ Tạo 1 mảng ng ẫu nhiên và xuất ra dãy con tăng dần dài nhất. Nế u 2 dãy con tăng dài bằng nhau thì xuất dãy con tăng đầu tiên . # include # include # include voi d NhapMang(i nt a[], int &n) { n = r and()% 10; f or (i nt i =0; i
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2