Tìm kiếm chữ số trong số nguyên dương

giúp mình với ạ.
đề bài:
cho m số nguyên dương n. Viết hàm tìm vị trí xuất hiện đầu tiên của chữ số x trong số nguyên dương n.( In ra màn hình T dòng, mỗi dòng ghi ra vị trí đầu tiên của x trong nn (in ra −1 nếu x không xuất hiện trong n).
mình nhập vào số nào thì cũng đều ra -1.

#include <iostream>
#include <string>

using namespace std;

bool check(string &a, int &b){
    bool c=false;
    for (int i=0;i<a.size();i++) 
        if(a[i]==b) c=true;
    return c;
}
void getViTri(string &a, int &b){
    bool c=check(a,b);
    if(c==true) {
        for (int i=0;i<a.size();i++){
            if(a[i]==b) cout << i+1;
            break;
        }
    }
    else cout <<"-1";
}
int main(){
    int n;
    cin >> n;
    string a;
    int b;
    for(int i=0;i<n;i++)
    {
        cin >> a >> b;
        getViTri(a,b);
        cout << endl;
    }
        return 0;
}
2 Likes

Mình chưa hiểu đề lắm, có phải đề là:
Input: M, N, x
M: Số dòng
N: Số lượng số nguyên dương
x: Số cần tìm.

Ví dụ: M = 2, N = 4, x = 10 thì nhập thế này:
2 4 10
7 8 16 0
10 27 10 8

Thì output:
-1
0
Phải không bạn?

if(a[i]==b)

=> a[i] == char
=> b == int

3 Likes

Đề lủng củng vậy?
Theo cách nhập của bạn thì mình biết đề yêu cầu tìm chữ số trong một số nguyên dương và chạy với M bộ test.
Bạn so sánh sai.

3 Likes

VÂNG, đề như vậy ạ. mình so sánh sai đoạn nào vậy ạ?

2 Likes

đề bài là :
tìm vị trí của chữ số trong một số nguyên dương .
n chữ số của n số nguyên dương

2 Likes

Dùng luôn char b; :smiley: , lúc cin vào mới đúng được.

5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?