Quipex

Laba_6.4

Oct 30th, 2015
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <clocale>
  4. #include <string>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     setlocale(0, "rus");
  10.  
  11.     cout<<"Введите слова:\n>> ";
  12.     char st[100];
  13.     gets(st);
  14.     cout<<endl;
  15.  
  16.     cout<<"Введите порядковый номер символа:\n>> ";
  17.     int k;
  18.     cin>>k;
  19.     cout<<endl;
  20.  
  21.     if(k>strlen(st))
  22.         k=strlen(st); //eсли длина строки меньше, чем номер символа, нет смысла продолжать цикл после '\0'
  23.    
  24.  
  25.     while(st[k-1]==' ')     //удаляем ненужные пробелы после последнего слова
  26.         k--;
  27.     cout<<"For testing purposes only: "<<k<<"."; //тестовый вывод длины строки
  28.  
  29.     int i,c=0;
  30.     bool fake=true;
  31.     if(st[0]!=' ')
  32.         c++;
  33.     for(i=0;i<k;i++)
  34.     {
  35.         /*if((st[i]==' ')&&(fake)) //если строка начинается с пробела, пробел не учитывается
  36.         {
  37.             if(st[i+1]!=' ')
  38.                 fake=false;
  39.         }
  40.         else
  41.         {
  42.             if((st[i+1]==' ')||(st[i+1]==NULL))
  43.             {
  44.                 c++;
  45.                 i++;
  46.                 fake=true;
  47.             }
  48.         }*/
  49.         if((st[i]==' ') && (st[i+1]!=' '))  //если после пробела стоит символ, кол-во слов увеличивается
  50.             c++;
  51.     }
  52.     cout<<endl<<"Порядковый номер слова, накрывающий К-ю позицию \n(либо предыдущее слово, если попал на пробел): "<<c<<endl<<endl;
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment