codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
/* Đề Bài: Nhập vào 1 mảng A các số nguyên và tìm ra phần tử lớn thứ 3 trong mảng . 544.cpp */ /* Ý Tưởng :Nếu đề bài đã cho là tìm số lớn thứ 3 thì mảng phải có ít nhất 3 phần tử khác nhau trong mảng.Nếu không thỏa được điều kiện đó thì chương trình sẽ không tính và báo lỗi.Nếu thỏa điều kiện đó thì đi tính.Đầu tiên ta đi sắp xếp mảng tăng dần.Sau khi đã sắp xếp tăng dần thì ta tìm ra vị trí đầu tiên của phần tử lớn nhất trong mảng ký hiệu là vt1. Sau đó cho vòng lặp chạy từ 0 -> <vt1 => a[vt1-1] sẽ là số lớn thứ 2 và tiếp tục tìm ra vị trí xuất hiện đầu tiên của số lớn thứ 2 đó ký hiệu là vt2 . Cho tiếp vòng lặp chạy từ 0 -> < vt2 => a[vt2-1] chính là số lớn thứ 3 trong mảng . */ /* Tác giả: Nguyễn Việt Nam Sơn Trung tâm đào tạo tin học - Thiết kế phần mềm - Sơn Đẹp Trai: www.SonDepTrai.com Nguồn source code này Tôi viết vào năm 2012 lúc mới bắt đầu học lập trình C/C++ nên một số cách sẽ không được tối ưu - Bạn chỉ nên dùng trên tinh thần tham khảo thôi nhé. Mong giúp đỡ được Bạn trên con đường Học Lập Trình. TẤT CẢ VÌ SỰ THÀNH CÔNG CỦA BẠN */ #include<stdio.h> #include<conio.h> #include<Windows.h> #define MAX 100 void NhapMang(int a[],int &n) { quaylai:printf("\nNhap vao so luong phan tu cua mang:n="); scanf("%d",&n); if(n<3||n>MAX) { printf("\nSo ban nhap vao khong hop le!Xin vui long nhap lai!"); goto quaylai; } for(int i=0;i<n;i++) { printf("\nNhap vao a[%d]=",i); scanf("%d",&a[i]); } } void XuatMang(int a[],int n) { for(int i=0;i<n;i++) { printf("%4d",a[i]); } } void HoanVi(int &x,int &y) { int temp=x; x=y; y=temp; } void SapTangDan(int a[],int n) { for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(a[i]>a[j]) { HoanVi(a[i],a[j]); } } } } void TimSoLonThuBa(int a[],int n) { int vt1=0,vt2=0,max1,max2,max3,dem=0; for(int i=0;i<n;i++) { if(a[i]!=a[i+1]) { dem++; } } if(dem>=3) { for(int i=0;i<n;i++) { max1=a[n-1]; if(max1==a[i]) { vt1=i; break; } } for(int i=0;i<vt1;i++) { max2=a[vt1-1]; if(max2==a[i]) { vt2=i; break; } } max3=a[vt2-1]; printf("\nPhan tu lon thu 3 trong mang la:%d",max3); } else printf("\nMang nay khong ton tai it nhat 3 phan tu khac nhau nen khong the tinh duoc!"); } void main() { int a[MAX],n,tieptuc; quaylai:NhapMang(a,n); printf("\n>>>>>>>>>>>>Mang Vua Nhap Vao La:<<<<<<<<<<<<<<<<<<\n"); XuatMang(a,n); printf("\n"); SapTangDan(a,n); TimSoLonThuBa(a,n); printf("\n"); printf("\nBan co muon tiep tuc thuc hien chuong trinh hay khong ? Neu co bam phim C,nguoc lai bam bat ky 1 phim nao khac de ket thuc!"); tieptuc=getch(); if(tieptuc=='c'||tieptuc=='C') { system("cls"); goto quaylai; } }
Private
[
?
]
Run code
Submit