Một số bài toán về dãy số trong C++

372
Lập trình C++

Những bài toán cơ bản điển hình trong C++ về dãy số là những bài tập thường xuyên phải luyện giải trong quá trình bạn học ngôn ngữ này. Đoạn chương trình dưới đây sẽ hiển thị một số nội dung cơ bản về dãy số:

#include<iostream>
#include<math.h>
using namespace std;
// Nhap so luong va mang:
void Nhap(int a[], int n){
    for (int i=0;i<n;i++){
        cout << "a[" << i+1 << "] = "; cin >> a[i];
    }
}
// Xuat du lieu len man hinh:
void Xuat(int a[], int n){
    for (int i = 0; i < n; i++){
        cout << a[i] << "   ";
    }
}
// Sap xep tang dan:
void DayTang (int a[], int n){
    int tg;
    for (int i = 0; i < n - 1; i++){
        for (int k = i + 1; k < n; k++){
            if (a[i] > a[k]){
                tg = a[i];
                a[i] = a[k];
                a[k] = tg;
            }
        }
    }
}
// Sap xep giam dan:
void DayGiam (int a[], int n){
    int tg;
    for (int i = 0; i < n - 1; i++){
        for (int k = i + 1; k < n; k++){
            if (a[i] < a[k]){
                tg = a[i];
                a[i] = a[k];
                a[k] = tg;
            }
        }
    }
}
// Ham tinh tong day so:
int Tong(int a[], int n){
    int T = 0;
    for (int i = 0; i < n; i++){
        T = T + a[i];
    }
    return T;
}
// Ham tim GTLN cua day so:
int Max (int a[], int n){
    int m;
    for (int i = 0; i < n; i++) {
        if (m < a[i])
            m = a[i];
    }
    return m;
}
// Ham tim GTNN cua day so:
int Min (int a[], int n){
    int m = 32000;
    for (int i = 0; i < n; i++) {
        if (m > a[i])
            m = a[i];
    }
    return m;
}
int main(){
    int a[1000]; int n;
    cout << "Nhap so luong phan tu: "; cin >> n;
    Nhap(a, n);
    cout << endl << "Day so vua nhap: " ;
    Xuat(a, n);
    DayTang (a, n);
    cout << endl << "Day so tang dan: ";
    Xuat(a, n);
    DayGiam (a, n);
    cout << endl << "Day so giam dan: ";
    Xuat(a, n);
    cout << endl << "Tong day so la: " << Tong(a,n);
    cout << endl << "Gia tri lon nhat la: " << Max (a, n);
    cout << endl << "Gia tri nho nhat la: " << Min (a, n);
    return 0;
}