Đầu bài
Nhập mảng A gồm n phần tử nguyên và thực hiện:
1.Tính tổng các phần tử chia hết cho 10 của mảng, rồi in kết quả lên màn hình.
Ý tưởng bài toán
Code
#include <iostream> #include <math.h> using namespace std; int nhap(int a[], int n) //ds cac doi so hinh thuc { int i; for (i=0;i<n;i++) { cout<<"a["<<i<<"]= "; cin>>a[i]; } } int tong(int a[], int n) { int i,s=0; cout<<"\nTong cac phan tu chia het cho 10: "; for (i=0;i<n;i++) if (a[i]%10==0) s=s+a[i]; cout<<"Tong s= "<<s; } int nt(int x) { int n=sqrt(x); //5 10 20 for (int i=2;i<=n;i++) if (x%i==0) return 0;//tra ve cho ham main return 1; //tra ve dung or sai } int lietkent(int a[], int n) { for (int i=0; i<n; i++) if (nt(a[i])) cout<<a[i]<<" "; } /*int chanmax(int a[], int n) { int i; int max=a[0]; for (i=0;i<n;i++) if (a[i+1]>max) { if (a[i]%2==0) cout<<"Max"<<a[i]; } }*/ int chan_max(int a[], int n) { int i, j, tg; cout<<"\nSap xep:"; for (i=0;i<n-2;i++) //n-2 vi de lai phan tu cuoi for (j=1;i<=n-1;j++) if (a[i]>a[j]) { tg=a[i]; a[i]=a[j]; a[j]=tg; } for (i=0; i<=n;i++) cout<<a[i]<<" "; cout<<"\nChan:"; for (i=n-1;i<0;i--) { if (a[i]%2==0) cout<<a[i]; } int tong=0, dem=0; for (i=n-1;i>=0;i--) { if (a[i]%2==0) { cout<<a[i]; tong+=a[i]; dem++; if (dem==3) break; } } cout<<"Tong 3 so: "<<tong; } int main () { int n, a[50]; cout<<"Nhap phan tu: "; cin>>n; nhap(a,n); tong(a,n); cout<<"\nCac so nguyen to la: "; lietkent(a,n); // chanmax(a,n); chan_max(a,n); }