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

Строки* - C++

Восстановить пароль Регистрация
 
Оленька*
2 / 2 / 0
Регистрация: 15.12.2010
Сообщений: 58
15.12.2010, 15:51     Строки* #1
Ввести строку и слово. Определить и вывести, сколько раз встречаются
в строке буквы, перечисленные в слове.

Ha Cu.

Заранее спасибо за помошь.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2010, 15:51     Строки*
Посмотрите здесь:

Дан безразмерный массив.Вставить количество символов каждой строки вначало этой же строки. C++
C++ Вывести строки файла, после строки добавляя, сколько раз в ней встретилось слово
Строки. Вывести на печать то слово этой строки, которое по алфавиту предшествует всем другим C++
C++ Если строки одинаковы, объединить две строки, исключив из второй первые десять символов
C++ Переместить вниз строки массива, в которых сумма элементов строки меньше ноля
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.12.2010, 16:21     Строки* #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
 
int main(void){
    char str[BUFSIZ], wrd[BUFSIZ], * p;
    int cnt;
    
    printf("String: ");
    scanf("%[^\n]%*c", str);
    printf("Word: ");
    scanf("%s", wrd);
    
    printf("Same letters: ");
    for ( cnt = 0, p = strpbrk(str, wrd); p; ++cnt, p = strpbrk(p + 1, wrd) )
            printf("%c", *p);
    printf("\n%d matches found.\n", cnt);
    
    return 0;
}
Оленька*
2 / 2 / 0
Регистрация: 15.12.2010
Сообщений: 58
15.12.2010, 16:49  [ТС]     Строки* #3
Спасибо=*, а можно с пояснениями?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.12.2010, 18:53     Строки* #4
Цитата Сообщение от Оленька* Посмотреть сообщение
а можно с пояснениями?
Да тут просто всё... Описание функции strpbrk прочитайте, и Вам понятнее будет... Если всё равно будут вопросы - спрашивайте. А писать, для чего нужны <stdio.h>/printf/scanf - да вроде справочников полно...
Оленька*
2 / 2 / 0
Регистрация: 15.12.2010
Сообщений: 58
17.12.2010, 16:12  [ТС]     Строки* #5
"%[^\n]%*c" - зачем эти символы?

Добавлено через 32 секунды
"%[^\n]%*c" - зачем эти символы?

( cnt = 0, p = strpbrk(str, wrd); p; ++cnt, p = strpbrk(p + 1, wrd) ) что тут делаеться, strpbrk - что это за функция?
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.12.2010, 17:04     Строки* #6
Цитата Сообщение от Оленька* Посмотреть сообщение
strpbrk - что это за функция?
Читаем - strpbrk().
Цитата Сообщение от Оленька* Посмотреть сообщение
"%[^\n]%*c" - зачем эти символы?
Боюсь ошибиться, но кажется мне, что этот символ означает - чтение символов в масив до символа перевода строки.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
17.12.2010, 18:12     Строки* #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от asics Посмотреть сообщение
Боюсь ошибиться, но кажется мне, что этот символ означает - чтение символов в масив до символа перевода строки.
Уточню немного: конструкция %[^\n] читает всё до \n и помещает прочитанное в буфер, а %*c читает одиночный символ и просто его игнорирует. Вместе получается чтение символов до перевода строки и удаление этого самого перевода строки из потока.
Оленька*
2 / 2 / 0
Регистрация: 15.12.2010
Сообщений: 58
17.12.2010, 19:21  [ТС]     Строки* #8
А что делает сама программа??
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.12.2010, 19:33     Строки* #9
Оленька*, Определияет и выводит, сколько раз встречаются
в строке буквы, перечисленные в слове.
Naked
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 18
17.12.2010, 19:35     Строки* #10
Ну да гениальный вопрос
Оленька*
2 / 2 / 0
Регистрация: 15.12.2010
Сообщений: 58
17.12.2010, 21:41  [ТС]     Строки* #11
Я не в этом смысле....(

Как она это делает?
Fisher1992
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 5
17.12.2010, 22:51     Строки* #12
Дана строка символов!!! заменить в ней все многоточия символами "+"!

Помогите пожалуйста решить!!!!

 Комментарий модератора 
Во-первых не задавайте в чужой теме вопросы к ней не относящиеся. А во-вторых пользуйтесь поиском - тема с таким вопросом уже есть: Дана строка символов, заменить в ней все многоточия на плюсы
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.12.2010, 22:51     Строки* #13
Fisher1992,
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
//////////////////////////////////////////////////////////////
//дана строка символов.заменить в ней все многоточия на плюс
//////////////////////////////////////////////////////////////
#include <stdio.h>
#include <string.h>
 
int main()
{
        char str[256];
        char str1[256]="";
        int i,k=0;
        printf("Enter string: ");
        gets(str);
        for(i=0; i<strlen(str); i++)
        {
                if((str[i]=='.') && (str[i+1] == '.') && (str[i+2] == '.'))
                {
                        str1[k]='+';
                        i += 2;
                }
                else
                {
                        str1[k]=str[i];
                }
           k++;
        }
        printf("\n");
        puts(str1);
        return 0;
}
Оленька*
2 / 2 / 0
Регистрация: 15.12.2010
Сообщений: 58
17.12.2010, 23:24  [ТС]     Строки* #14
...........

Добавлено через 6 минут
Пожалуйста можете обьянить как действует программа?
Naked
0 / 0 / 0
Регистрация: 22.10.2010
Сообщений: 18
17.12.2010, 23:31     Строки* #15
А как именно работает прогарамма for ( cnt = 0, p = strpbrk(str, wrd); p; ++cnt, p = strpbrk(p + 1, wrd) )??
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2010, 23:57     Строки*
Еще ссылки по теме:

C++ В динамической матрице целых чисел добавить строки после строки, содержащей простое число
C++ Определить, верно ли утверждение: сумма элементов каждой i-й строки матрицы больше суммы (i-1)-й строки
C++ Определить, верно ли утверждение: сумма элементов каждой i-ой строки матрицы больше суммы (i-1)-ой строки

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

Или воспользуйтесь поиском по форуму:
easybudda
17.12.2010, 23:57     Строки*
  #16

Не по теме:

Оленька*, Naked, аж две ссылки дали на описание стандартной функции. Смотрели, не? На самом деле даже теряешься, как такие вещи объяснить. Зная, что возвращает strpbrk() всё остальное вопросов не должно оставлять. А переписывать справочники как-то не интересно...

Yandex
Объявления
17.12.2010, 23:57     Строки*
Ответ Создать тему
Опции темы

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