DATAONLINE.IO.VN

https://365.io.vn

Bài tập 051224

Bài tập 051224

Bài tập 051224

Câu 2. Sắp xếp ký tự số (KYTU.*)

Cho trước một xâu ký tự, trong xâu đó có thể chứa các ký tự "số" và ký tự không là "số". Viết chương trình tách các ký tự "số" của xâu đó và sắp xếp lại theo thứ tự giảm dần. Nếu không có ký tự "số" nào thì ghi "Khong".

Dữ liệu vào lấy từ file: Nhập vào một dòng duy nhất chứa một xâu ký tự.

Kết quả ra ghi vào file: Gồm một dòng ghi xâu ký tự "số" đã được sắp xếp theo thứ tự giảm dần hoặc "Khong" nếu xâu đó không chứa ký tự "số".

Ví dụ:

Vào (bàn phím)

Ra (màn hình)

Nam20244220
ngay07thang12nam202474222100
Ngay thang namKhông
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    string S= "";
    cout<<"Nhap xau S= ";
    getline(cin,S);
    int len=S.length(), i;
    char c;
    vector <int> V;
    bool coso=false;
    for(i=0; i<len; i++)
    {
        c=S.at(i);
        if(isdigit(c))
        {
            coso=true;
            V.push_back(c-'0');
        }
    }
    sort(V.begin(),V.end(),greater<int>());
    int Vsize=V.size();
    for(i=0; i<Vsize; i++)
    {
        cout << V.at(i);
    }
    if(!coso){
        cout<<"Khong";
    }
    return 0;
}

Câu 3. XẾP HÀNG (XEPHANG.*)

Trong giờ sinh hoạt tập thể, lớp 9A có 𝑛 học sinh (n≤30) xếp thành hàng dọc. Mỗi học sinh có chiều cao a[i]. Em hãy viết chương trình đếm số bạn có chiều cao bằng nhau nhiều nhất (Nếu có nhiều nhóm học sinh có chiều cao bằng nhau thì lấy chiều cao lớn nhất)

Dữ liệu vào từ file: Số tự nhiên 𝑛 và n số tự nhiên a[i], mỗi số ứng với chiều cao của từng bạn (đơn vị cm), các số cách nhau một khoảng trắng.

Kết quả ra ghi vào file: Ghi 2 số tự nhiên cách nhau một khoảng trắng. Số thứ nhất ghi tổng số các bạn có chiều cao bằng nhau nhiều nhất. Số thứ hai ghi chiều cao tương ứng, các số.

Ví dụ:

Vào (bàn phím)

Ra (màn hình)

11

160 158 158 160 159 158 159 158 160 158 161

5 158

11

160 158 159 160 159 158 159 158 160 159 161

4 159

9

160 158 159 160 158 159 158 160 159

3 160
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int n, a[30], i;
    cout << "Nhap so hoc sinh n= ";
    cin>>n;
    cout<<"Nhap chieu cao cua "<<n<<" hoc sinh cach nhau mot dau cach:";
    for(i=0; i<n; i++)
    {
        cin>>a[i];
    }
    sort(a,a+n);
    int dem=1, demmax=0, chieucao, chieucaomax=0;
    n=n-1;
    for(i=0; i<n; i++)
    {
        if(a[i]==a[i+1])
        {
            dem++;
            chieucao=a[i];
        }
        else
        {
            if(demmax<=dem)
            {
                demmax=dem;
                chieucaomax=chieucao;
                dem=1;
            }
        }
    }
    if(demmax<=dem)
    {
        cout<<dem<<" "<<chieucao;
    }
    else
    {
        cout<<demmax<<" "<<chieucaomax;
    }
    return 0;
}

Câu 4: FIBONACCI (4 điểm).

Dãy Fibonacci là dãy gồm các số: 1, 1, 2, 3, 5, 8, ... được xác định bởi công thức sau: F1 =1,  𝐹2=1, 𝐹𝑖=𝐹𝑖−1+𝐹𝑖−2 với i>2.

Yêu cầu: Hãy biểu diễn số nguyên dương 𝑋𝑖 thành tổng của ít nhất các số Fibonaci khác nhau.

Dữ liệu: Nhập vào số nguyên dương N và N số nguyên dương Xi (Xi <10^100, 1<= i <= N).

Kết quả: Ghi ra N dòng, mỗi dòng là biểu diễn tổng các số fibonaci theo thứ tự từ bé đến lớn của số Xi.

Ví dụ:

Vào (bàn phím)

Ra (màn hình)

3

19

129

8

19=1+5+13

129=1+5+34+89

8=8

 

 

 

 

Tác giả: Vàng Văn Quyn

Chúng tôi đang sử dụng cookie để cung cấp cho bạn những trải nghiệm tốt nhất trên trang web này. Bằng cách tiếp tục truy cập, bạn đồng ý với Chính sách thu thập và sử dụng cookie của chúng tôi.
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây