Форум программистов, компьютерный форум CyberForum.ru

Определить количество пробелов в строке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
10.12.2010, 15:46     Определить количество пробелов в строке #1
Написать програму при помощи библиотеки String.h
Дана строка S1.....Sn (n за ранее не известно) нужно:
1)определить количество пробелов среди S1....Sn.
2)Выяснить входит ли в последовательность буква ю.
3)Имеются ли в строке буквы входящие в слово " Шина ".
4)выяснить имеються ли в строке пара соседствующих букв но или он.
И это всё вывести на экран..
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
antibot
1 / 1 / 1
Регистрация: 08.12.2010
Сообщений: 7
10.12.2010, 16:36     Определить количество пробелов в строке #2
Это тебе в помощь стандартные функции find,substr, они в этой же библиотеке есть...
Почитай книжку.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
10.12.2010, 16:40     Определить количество пробелов в строке #3
antibot, это члены <string>, а ТС нужно <cstring> (она же string.h)
antibot
1 / 1 / 1
Регистрация: 08.12.2010
Сообщений: 7
10.12.2010, 17:18     Определить количество пробелов в строке #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Kastaneda, вы правы.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <string.h>
#include <conio.h>
#include <locale.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
 
    setlocale(LC_ALL,"Russian");
 
    char buffer[]="нофыва ы м цуыюва ыювацываю цююцу";
    char *BUFFER;
    int count=0; 
 
    BUFFER=strchr(buffer,' ');
    while(BUFFER!=NULL)
    {
        BUFFER=strchr(BUFFER+1,' ');
        count++;
    }
 
    printf("Пробелов - %i\n",count);
 
    if(strchr(buffer,'ю')>=0)
        printf("Буква 'ю' пресудствует!\n");
 
    if(strpbrk(buffer,"Шина"))
        printf("В строке имеются буквы входящие в слово \"Шина\"\n");
 
    if(strstr(buffer,"но") || strstr(buffer,"он"))
        printf("В строке имеются пара соседствующих букв но или он\n");
 
    getch();
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода.
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
10.12.2010, 17:29  [ТС]     Определить количество пробелов в строке #5
а можно сделать без указателей и что б пользователь вводи строку вручную?
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
10.12.2010, 17:48     Определить количество пробелов в строке #6
Цитата Сообщение от Sun-rise Посмотреть сообщение
а можно сделать без указателей
У вас условие задания "при помощи библиотеки String.h", как ни крути без указателей ни как.
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
14.12.2010, 18:02  [ТС]     Определить количество пробелов в строке #7
Как сделать , что б выводить строку из клавиатуры ?
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
14.12.2010, 19:19     Определить количество пробелов в строке #8
Цитата Сообщение от Sun-rise Посмотреть сообщение
Как сделать , что б выводить строку из клавиатуры ?
C
1
gets(BUFFER);
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
14.12.2010, 19:41  [ТС]     Определить количество пробелов в строке #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// LR5(2).cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <string.h>
#include <conio.h>
#include <locale.h>
#include <iostream>
 
using namespace std;
const int N=100;
 
int _tmain(int argc, _TCHAR* argv[])
{
 
setlocale(LC_ALL,"Russian");
 
char buffer[N];
char *BUFFER;
int count=0; 
cout<<"Введите строку:";
gets(buffer);
 
BUFFER=strchr(buffer,' ');
while(BUFFER!=NULL)
{
BUFFER=strchr(BUFFER+1,' ');
count++;
}
 
printf("Пробелов - %i\n",count);
 
if(strchr(buffer,'ю')>=0)
printf("Буква 'ю' пресудствует!\n");
 
if(strpbrk(buffer,"Шина"))
printf("В строке имеются буквы входящие в слово \"Шина\"\n");
 
if(strstr(buffer,"но") || strstr(buffer,"он"))
printf("В строке имеются пара соседствующих букв но или он\n");
 
getch();
return 0;
}
Когда ставлю вводить строку с помощью клавиатуры . Начинает работать не правильно условие , не пойму в чем проблема...
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
15.12.2010, 20:06  [ТС]     Определить количество пробелов в строке #10
up!!!!1111
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
15.12.2010, 20:32     Определить количество пробелов в строке #11
а что именно не правильно?

Добавлено через 10 минут
там ошибка в коде:
C++
1
2
if(strchr(buffer,'ю')>=0)//нужно убрать =
printf("Буква 'ю' пресудствует!\n");
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2010, 22:36     Определить количество пробелов в строке
Еще ссылки по теме:

C++ Дано символьная строка. Определить количество пробелов этой строке
C++ Подсчитать количество пробелов в строке
C++ Подсчитать количество пробелов в строке

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
23.12.2010, 22:36  [ТС]     Определить количество пробелов в строке #12
не работает последнее условие

C++
1
2
if(strstr(buffer,"но") || strstr(buffer,"он"))
printf("В строке имеются пара соседствующих букв но или он\n");
Добавлено через 15 минут
и это условие тоже не работает

C++
1
2
if(strchr(buffer,'ю')>0)
printf("Буква 'ю' пресудствует!\n");
Yandex
Объявления
23.12.2010, 22:36     Определить количество пробелов в строке
Ответ Создать тему
Опции темы

Текущее время: 23:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru