Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

C++

10:05 27-10-2022 576 lượt xem 1 bình luận

Nhập danh sách chuỗi( tên các loài thú) người dùng dừng việc nhập khi nhập done hoặc đạt số lượng tối đa(15). Lưu các danh sách tên vào mảng 1 chiều. Cho user nhập tên một loài và trả lại kết quả cho user biết vị trí của loài đó trong danh sách nếu kh có trả về not found. Sắp xếp theo thứ tự tăng dần trong mảng người dùng đã nhập.

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
vincentken đã bình luận 15:24 27-10-2022

mình code mẫu thôi, bạn test xem còn thiếu trường hợp nào không thì thêm vô nha:

#include <iostream>
#include <string>
using namespace std;

struct dsthu
{
    string a[15];
    int n=15;
};
void nhap(string &a)
{
    getline(cin, a);
}
void xuat(string a)
{
    cout << a << "  ";
}
void nhapds(dsthu &a)
{
    for (int i = 0;i < a.n &&i <15;i++)
    {
        nhap(a.a[i]);
        if(a.a[i]=="done")
        {
            a.a[i] = "";
            a.n = i;
            break;
        }
    }
}
void xuatds(dsthu a)
{
    for (int i = 0;i < a.n;i++)
    {
        xuat(a.a[i]);
    }
}
int timvitri(dsthu a,string s)
{
    int vitri = 0;
    for (int i = 0;i < a.n;i++)
    {
        if (a.a[i] == s)
        {
            vitri = i + 1;
        }
    }
    return vitri;
}
void swapchu(string &a, string &c)
{
    string index = a;
    a = c;
    c = index;
}
void sapxeptang(dsthu& a)
{
    for (int i = 0;i < a.n - 1;i++)
    {
        for (int j = i + 1;j < a.n;j++)
        {
            if (a.a[i][0] > a.a[j][0])
            {
                swapchu(a.a[i], a.a[j]);
            }
        }
    }
}


void main()
{
    cout << "nhap ten cac loai thu (dung viec nhap, nhap done) so luong toi da(15): " << endl;
    dsthu a;
    nhapds(a);
    xuatds(a);
    cout << endl;
    cout << "nhap ten thu can tim vi tri: ";
    string s;
    getline(cin, s);
    if (timvitri(a, s) != 0)
    {
        cout << "vi tri con thu cua ban la: " << timvitri(a, s);
    }
    else
    {
        cout << "not found";
    }
    cout << endl;
    sapxeptang(a);
    xuatds(a);
}

Câu hỏi mới nhất