#include "stdafx.h"
#include <iostream>
#include <clocale>
#include <string>
using namespace std;
int main()
{
setlocale(0, "rus");
cout<<"Введите слова:\n>> ";
char st[100];
gets(st);
cout<<endl;
cout<<"Введите порядковый номер символа:\n>> ";
int k;
cin>>k;
cout<<endl;
if(k>strlen(st))
k=strlen(st); //eсли длина строки меньше, чем номер символа, нет смысла продолжать цикл после '\0'
while(st[k-1]==' ') //удаляем ненужные пробелы после последнего слова
k--;
cout<<"For testing purposes only: "<<k<<"."; //тестовый вывод длины строки
int i,c=0;
bool fake=true;
if(st[0]!=' ')
c++;
for(i=0;i<k;i++)
{
/*if((st[i]==' ')&&(fake)) //если строка начинается с пробела, пробел не учитывается
{
if(st[i+1]!=' ')
fake=false;
}
else
{
if((st[i+1]==' ')||(st[i+1]==NULL))
{
c++;
i++;
fake=true;
}
}*/
if((st[i]==' ') && (st[i+1]!=' ')) //если после пробела стоит символ, кол-во слов увеличивается
c++;
}
cout<<endl<<"Порядковый номер слова, накрывающий К-ю позицию \n(либо предыдущее слово, если попал на пробел): "<<c<<endl<<endl;
return 0;
}
Comments