Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2014, 19:41   #1
Raspberry28
Новичок
Джуниор
 
Регистрация: 26.11.2014
Сообщений: 2
По умолчанию Visual C++

Нужно написать программу, которая будет удалять из строки слова, состоящие из двух одинаковых букв. Например, aaab, baa, ab. Но если состоит более, чем из двух букв - оставляем. Очень надеюсь на помощь, спасибо.
Raspberry28 вне форума Ответить с цитированием
Старый 30.11.2014, 20:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Начни с такого: http://www.programmersforum.ru/showthread.php?t=121545
Потом можешь применить следующую функцию:
Код:
int rep(char *s){
    int i;
    for(i=1;s[i] && s[i]==s[0];i++);
    return i;
}

bool ToBeeOrNotToBee(char* s){
    int i,k;
    for(i=0;s[i];i++){
        k=rep(&s[i]);
        if(k==2) return false;
        if(k>2) i+=k-1;
    }
    return true;
}
если ToBeeOrNotToBee() даст true - слово оставлять.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.01.2015, 16:02   #3
Chainik!
Форумчанин
 
Регистрация: 10.11.2008
Сообщений: 120
По умолчанию

Цитата:
Сообщение от Raspberry28 Посмотреть сообщение
Нужно написать программу, которая будет удалять из строки слова, состоящие из двух одинаковых букв. Например, aaab, baa, ab. Но если состоит более, чем из двух букв - оставляем. Очень надеюсь на помощь, спасибо.
А если, будет слово aba?
помог - жми на весы
Chainik! вне форума Ответить с цитированием
Старый 08.01.2015, 00:24   #4
Chainik!
Форумчанин
 
Регистрация: 10.11.2008
Сообщений: 120
По умолчанию

Цитата:
Сообщение от Raspberry28 Посмотреть сообщение
Нужно написать программу, которая будет удалять из строки слова, состоящие из двух одинаковых букв. Например, aaab, baa, ab. Но если состоит более, чем из двух букв - оставляем. Очень надеюсь на помощь, спасибо.
Код:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
const int n = 85;
int main()
{
	setlocale(LC_ALL, "Rus");
	int i = 0, count = 0, k = 0;
	char ch, res[n], s[n] = "aaab, baa, ab";
	cout << "Строка имеет вид: " << s;
	/*cout << "Введите строку: ";
	gets(s);*/
	cout << endl << endl;
	for(char * p = strtok(s, " "); p; p = strtok(NULL, " "))
	{
		bool b = false;
		for(int i = 0; i < strlen(p); i++)
		{
			while(i < strlen(p))
			{
				ch = p[i];  
				count = 0;
				while((ch == p[i]) && (i < strlen(p)))
				{
					count++;
					i++;
				}
				if(count == 2)
					b = true;
			}
		}
		if(!b)
		{
			for(int i = 0; i < strlen(p); i++)
				res[k++] = p[i];
			res[k++] = ' ';
		}
	}
	res[k] = NULL;
	cout << "После удаления слов, строка преобрела вид: " << res;
	getch();
	return 0;
}
помог - жми на весы
Chainik! вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual C++, Visual C#, Visual basic .Net, или Microsoft.Net Что лучше? _PROGRAMM_ Общие вопросы .NET 14 10.10.2012 19:24
Qt/(C++ || Python) Vs Visual C# Vs Visual C++. Что Лучше Для Десктоп Программирования beget Общие вопросы C/C++ 1 05.08.2012 01:29
Проблема с windows visual styles в Visual studio 2008 express. [awa Visual C++ 2 09.01.2010 06:05
Как перевести проект из Visual C++ 2003 в Visual C++ 2008? iukash Visual C++ 8 17.04.2009 22:36
Visual c++ 2005 и Visual c++ 6 это разные версии или нет? Руслантус Свободное общение 3 30.11.2007 19:42