Как разделить строковый массив, а затем сравнить каждый первый индекс этого разделенного массива с символом? - PullRequest
0 голосов
/ 08 апреля 2020

Я хочу взять массив строк у пользователя и вывести только те строковые индексы, которые начинаются с символа «А». Есть ли способ сделать это?

#include <iostream>
#include <string>
using namespace std;
const int size=3;
void input(string name[size]);
void byname(string name[size]);
struct employee
{
    string name[size];  
}emp;
int main() 
{
    input(emp.name);
    byname(emp.name);
    return 0;
}
void input(string name[size]){
    cout<<"Enter Names of the employees:\n";
    for(int i=0;i<size;i++)
    cin>>emp.name[i];
}

void byname(string name[size])
{
    int i,j;
        for(i=0;i<size;i++)
        {
        if(name[i]=="A")
        cout<<"Name starting with A is "<<emp.name[i];
        else if(name[i]=="a")
        cout<<"Name starting with a is "<<emp.name[i];
       }
}

1 Ответ

0 голосов
/ 09 апреля 2020

В c ++ вы можете использовать индексирование массива для доступа к отдельным символам строки, подробнее о строках c ++ здесь: http://www.cplusplus.com/reference/string/string/, отвечая на ваш вопрос, в этом функция имени измените сравнения на:

if(name[i][0]=='A')
    cout<<"Name starting with A is "<<emp.name[i];
else if(name[i][0]=='a')
    cout<<"Name starting with a is "<<emp.name[i];

Дайте мне знать, есть ли другие проблемы, с которыми вы столкнулись! Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...