#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
cout << "s: ";
string s;
getline(cin, s);
cout << "n: ";
size_t n;
cin >> n;
istringstream iss(s);
string word;
auto m = 0U;
while (iss >> word) if (++m == n) break;
auto pos = s.find(word) + 1;
if (pos != string::npos) cout << "position: " << pos << '\n';
else puts("Not found!");
system("pause > nul");
}
C/C++
Написать код на языке с++. Определить позицию начала в строке s слова с номером n. помогите пожалуйста
#include <iostream>
#include <string>
using namespace std;
const string az = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
bool is_bukva(const char c)
{
for(int x = 0; x < az.length(); x++)
if(c == az[x]) return true;
return false;
}
int main()
{
string s;
cout << "Введите предложение: ";
getline(cin,s);
int n, pos;
cout << "Введите n: ";
cin >> n;
int w = 0;
bool find_word = false;
for(int x = 0; x < s.length(); x++)
{
if(x == 0)
{
if( is_bukva(s[x]) )
{
w++;
if(w == n)
{
find_word = true;
pos = x;
break;
}
}
}
else if( is_bukva(s[x]) && ! is_bukva(s[x - 1]) )
{
w++;
if(w == n)
{
find_word = true;
pos = x;
break;
}
}
}
if(find_word)
{
cout << "Позиция начала слова в строке -- " << pos + 1 << '.' << endl; // +1 потому что индексы начинаются с нуля
}
else
{
cout << "Слово не найдено." << endl;
}
return 0;
}
#include <string>
using namespace std;
const string az = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
bool is_bukva(const char c)
{
for(int x = 0; x < az.length(); x++)
if(c == az[x]) return true;
return false;
}
int main()
{
string s;
cout << "Введите предложение: ";
getline(cin,s);
int n, pos;
cout << "Введите n: ";
cin >> n;
int w = 0;
bool find_word = false;
for(int x = 0; x < s.length(); x++)
{
if(x == 0)
{
if( is_bukva(s[x]) )
{
w++;
if(w == n)
{
find_word = true;
pos = x;
break;
}
}
}
else if( is_bukva(s[x]) && ! is_bukva(s[x - 1]) )
{
w++;
if(w == n)
{
find_word = true;
pos = x;
break;
}
}
}
if(find_word)
{
cout << "Позиция начала слова в строке -- " << pos + 1 << '.' << endl; // +1 потому что индексы начинаются с нуля
}
else
{
cout << "Слово не найдено." << endl;
}
return 0;
}
Похожие вопросы
- Написать код на языке си
- Написал код для языка C, но работает не правильно
- Написать код на языке Си
- Написать код на языке C++
- Написать код на языке Си
- Написать код на языке C++
- Надо написать код на языке C 1 курс
- Помогите пожалуйста написать код.(C++)
- Помогите пожалуйста с Массивами .В языке С .Заполнил 2-мерный массив N и M случайными числами дальше не понимаю.
- Помогите написать код c++ со строками