АЛ
Алексей Лившиц

Помогите написать программу, в которой :

В зависимости от выбранных опций происходит подсчитывание слов в которых 3 по порядку символ соответствует

1q или w или r

2d или f или g

//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{ }
//---------------------------------------------------------------------------
AnsiString* strSplit(AnsiString buf, char delim, int & n)
{ n=1;
for (int i =1; i<= buf.Length(); i++)
if(buf[i] == delim)
n++;
AnsiString* res = new AnsiString[n];
for(int j=0;j {
int p =buf.Pos(delim);
if (p==0)
p= buf.Length()+1;
res[j]= buf.SubString(1,p-1);
buf.Delete(1,p);
}
return res;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ {
int num=0;
int n;
if (RadioButton1->Checked)
{
AnsiString abc ="qwr";
AnsiString s = Memo1->Text;
AnsiString* str = strSplit(s, ' ', n);
for (int j=0; j for (int k = 1; k <= abc.Length();k ++)
if ( str [j].Pos ( abc [ k ]))
{
num++;
break;
}
delete [] str;
}
if (RadioButton2->Checked)
{
AnsiString abc ="dfq";
AnsiString s = Memo1->Text;
AnsiString* str = strSplit(s, ' ', n);
for (int j=0; j for (int k = 1; k <= abc.Length();k ++)
if ( str [j].Pos ( abc [ k ]))
{
num++;
break;
}
delete [] str;
}
ShowMessage ("Найдено слов: " + IntToStr (num));
}}
//---------------------------------------------------------------------------

проблема в том, как найти 3 символ в слове

ВА
Валерия Антонова

Самое простое:

AnsiString s = "12345";

if (s[3] == 'w' || s[3] == 'r' || (s[3] == '1' && s[4] == 'q')) {
...
}

ТГ
Таня Гусарова

#include
#include

//...

AnsiString s = "qwery, rambus, bla bpl west";

const char* ptr = s.c_str();
const char* tpl = "qwr";
int cnt = 0;
while((ptr = strpbrk(ptr, tpl)) != NULL){
++cnt;
for(++ptr; isalpha(*ptr); ++ptr)
;
}
ShowMessage(IntToStr(cnt));

Похожие вопросы
Помогите написать программу. С++
Помогите написать программу!
Помогите с написать программу на с++
помогите написать программу в с++
Помогите написать программу в С++.
Помогите написать программу на С
Помогите написать программу. С++ .
Помогите написать текст программы в Visual Basic.ПОЖАЛУЙСТА!!!! Написать программу, которая выводит на экран Да или Нет
Помогите написать программу на С++.
С# Помогите написать программу