Задачи: работа со строками, Кол-во встречаемых слов, замена символов

  • Автор темы Juliya
  • Дата начала
J

Juliya

#1
1) Для каждого из слов заданного текста указать сколько раз оно встречается.
2) В тексте вставить вместо одного пробела запятую и пробел, вместо двух пробелов - двоеточие и пробел, вместо трех и более пробелов тире и пробел.
 

DarkKnight

Well-known member
01.08.2010
653
0
#3
2) В тексте вставить вместо одного пробела запятую и пробел, вместо двух пробелов - двоеточие и пробел, вместо трех и более пробелов тире и пробел.
C++:
/*
2) В тексте вставить вместо одного пробела запятую и пробел, вместо двух пробелов - двоеточие и пробел, вместо трех и более пробелов тире и пробел.
*/
/*
codeby.net
Autor: DarkKnight125
*/

#include <iostream>

using namespace std;

void main(void)
{
setlocale(LC_ALL,".1251");
cout<<"Введите строку : ";
char buffer[1024]; //Наша строка
char Result[1024]={0}; //Результирующая строка
gets(buffer); //Получим строку

int ProbCount = 0; //Текущее кол-во пробелов
for (int i = 0; i<strlen(buffer); i++) //Обойдем по символьно введеную строку
{
if (buffer[i] == ' ') //Если текущий символ пробел 
ProbCount++; //То увеличим счетчик
else //Если же не пробел
{
switch (ProbCount) //То проверим счетчик на кол-во пробелов
{
case 0: //Если счетчик 0 - то пробелов не было
break;
case 1: //Если счетчик 1
strcat(Result,", "); //То добавим ', '
break;
case 2: //Если было 2 пробела, то
strcat(Result,": "); //То добавим ': '
break;
default: // Если 3 и более
strcat(Result,"- ");//То добавим '- '
break;
}
ProbCount = 0; //Обнулим счетчик
Result[strlen(Result)] = buffer[i]; //Добавим символ строки (это при условии что он не пробел)
}
}
cout<< endl <<"Результат : "<<Result <<endl;
}
А насчет первой, на форуме куча задач таких решалось.... Посмотрите на форуме в этом подфоруме... Я сам лично штук 5 писал подобных....
 

Вложения