Страница 1 из 1

Помогите со строками, плиз

Добавлено: 13 ноя 2005, 23:52
Player13
#include <stdio.h>
#include <string.h>
#include <iostream.h>

void main(void)
{
char str[100]; // массив под строку введенную
char str1[100]; // массив под изменненую строку
char prob;
int len,k,i,kol;
printf("\nВведите предложение:");
gets(str);
len=strlen(str);
prob = ' ';
for (i=0; i<=len; i++)
{
if (str == prob) ;

Смысл проги заключается в том чтобы из введенного предложения любой длины убрать слова в которых встречается буква "а" (русская или английская 2 или больше раз)... Я что то сообразить не могу как проверить слова в массиве... То есть я понимаю как надо сделать то есть: Перебираю буквы до пробела и если их больше 2 то не пишу в новый массив, если меньше то не пишу, а вот как это написать не знаю... или все же я думаю не правильно... Помогите пожалуйста, а то совсем себе голову сломал уже... :(

Добавлено: 14 ноя 2005, 01:35
WinMain
В стандартной библиотеке С++ есть класс istrstream, который текст разбивает на отдельные слова.

Код: Выделить всё

#include <stdio.h>
#include <strstrea.h>
#include <string.h>

int StrCharCount(char *str, int c)
{
   int nCount = 0;
   while (*str != '\0')
   {
     if (*str == c)
        ++nCount;
     ++str;
   }
  return nCount;
}


int main(int argc, char* argv[])
{
	char InpBuff[] = "Мама мыла раму и упала в яму"; 
	char OutBuff[sizeof(InpBuff)] = "";
	char Word[16];

	istrstream iss(InpBuff);
	while (!iss.eof())
	{
		iss >> Word;
		if (StrCharCount(Word, 'а') < 2)
		{
			strcat(strcat(OutBuff, Word), " ");
		}
	}

	printf ("Входная строка: %s\n", InpBuff);

	printf ("Выходная строка: %s\n", OutBuff);

	return 0;
}

Re: Помогите со строками, плиз

Добавлено: 26 дек 2010, 17:25
ZhekaSLK
Дана строка. Напечатать в алфавитном порядке все слова из данной строки, имеющие заданную длинну n. Язык С.
Заранее спасибо

Re: Помогите со строками, плиз

Добавлено: 26 дек 2010, 19:32
BulldozerBSG
ZhekaSLK, для новой проблемы, новая тема. За денюшку в другой раздел...