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

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Player13
Сообщения: 1
Зарегистрирован: 13 ноя 2005, 23:10
Откуда: Братск
Контактная информация:

#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 то не пишу в новый массив, если меньше то не пишу, а вот как это написать не знаю... или все же я думаю не правильно... Помогите пожалуйста, а то совсем себе голову сломал уже... :(
Аватара пользователя
WinMain
Сообщения: 929
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

В стандартной библиотеке С++ есть класс 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;
}
ZhekaSLK
Сообщения: 1
Зарегистрирован: 26 дек 2010, 17:17

Дана строка. Напечатать в алфавитном порядке все слова из данной строки, имеющие заданную длинну n. Язык С.
Заранее спасибо
BulldozerBSG
Сообщения: 270
Зарегистрирован: 09 янв 2010, 04:14
Контактная информация:

ZhekaSLK, для новой проблемы, новая тема. За денюшку в другой раздел...
Ответить