Text: |
ФІО = Пентак Максим
Запитання:задана не порожня послідовність слів з латинських літер. Останнім символом цієї послідовності є крапка. словами називаються групи символів, які розділені одним чи кількома пробілами та не містять пробілів усередині себе. визначити кількість слів, які не містять заданої літери.
уже не знаю як робить, поможи будь-ласка)
спасиб, Макс)
====================================
ANSWER ====================================
/*
задана не порожня послідовність слів з латинських літер.
Останнім символом цієї послідовності є крапка. словами
називаються групи символів, які розділені одним чи кількома
пробілами та не містять пробілів усередині себе. визначити
кількість слів, які не містять заданої літери.
до понеділка, бажано з коментами, спасіб за раньше))
*/
#include <iostream>
#include <cstring>
#include <conio.h>
#define n 256 // довжина строки
using namespace std;
bool bool_is_symbol_present_in_word(char *pword,char symbol){
//функція перевіряє чи міститься заданий символ с строці
// два параметри, строка і символ, повертає true якщо не присутній
bool z=true;
for ( int i = 0 ; i < strlen(pword) ; i++){
if (*(pword+i)==symbol) z=false;
}
return z;
}
int main()
{
char str[n],symbol;
// строка, символ
cout << "Input SYMBOL :" << endl;
cout<<(symbol=getch())<<endl;
// зчитуємо і виводимо символ
cout << "Input the string:" << endl;
cin.getline(str, n);
// Зчитуємо строку
char *pword = strtok(str, " ,-.?!");
//http://www.cplusplus.com/reference/clibrary/cstring/strtok/
//http://www.softtime.ru/dic/id_dic=73&id_group=1
int count=0;
while(pword)// перебираємо слова (до тих пір поки не буде пусто)
{
// cout<<pword<<endl;
if (bool_is_symbol_present_in_word(pword,symbol)) count++;
// перевіряємо кожне слово
pword = strtok(NULL, " ,-.?!");
// робимо здвиг
}
cout << "The count is " << count << endl;
system("PAUSE");
return 0;
}
END of ANSWER ====================================
|