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

Вывести все слова входного потока, заканчивающиеся заданной последовательностью символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Случайные числа в заданном промежутке http://www.cyberforum.ru/cpp-beginners/thread22286.html
Как на чистом Си написать генератор случайных чисел в заданном промежутке? Т.е. чтобы числа генерировались от 0 до N, например. Помогите, плиз!!! Добавлено через 50 минут 18 секунд я пробовала так: //Генерирует случайные числа от 0 до n unsigned int random(unsigned int n){ unsigned int r; srand(time(NULL));
C++ Вывести квадраты элементов массива с нечетными номерами Дан массив из Н элем Вывести квадраты элементов с нечетными номерами http://www.cyberforum.ru/cpp-beginners/thread22283.html
C++ ввод строки
привет! у меня есть проблемка.. для начала прога: #include <stdlib.h> int main (void) { return system("ping 192.168.3.1"); } вот вместо 192.168.3.1 я хочу, чтоб пользователь сам вводил ip..я никак не могу с этим разобраться, помогите, пожалуйста!:help:
C++ Дан массив из Н элементов. Найти сумму элементов с четными номерами и отдельно с нечетными
решите задачу Дан массив из Н элем найти сумму элем с четными номерами и отдельно с нечетными
C++ Вывести введенное нами слово, причем каждый символ слова на новой строке http://www.cyberforum.ru/cpp-beginners/thread22274.html
Подскажите, как можно сделать, чтобы на любое введенное нами слово, вывод происходил не просто в 1 строку все слово (это вроде итак понятно и неинтересно)), а просто чтобы каждый символ введенного нами слова записывался с новой строки. Знаю, что задачка из простых, но чего-то торможу :scratch:
C++ Вывод в 16-ричном виде у меня допустим есть переменная uint8_t p; для вывода в десятичной системе счисления я делаю так: printf("\np = "); for (i = 0; i < 16; i++) { printf("%d", &p+16*i); } подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
02.02.2009, 23:09     Вывести все слова входного потока, заканчивающиеся заданной последовательностью символов
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
 
#include <stdio.h>
#include <string.h>
 
#define MAXWORD  100   /* максимальная длина слова */
 
/* выводит слова, заканчивающиеся шаблоном */
main()
{
    char patt[MAXWORD], word[MAXWORD], *prevp, *p;
    char scanpatt[MAXWORD];
    long offset;
    
    sprintf(scanpatt, "%%%ds", MAXWORD-1);
    printf("Enter pattern: ");
    scanf(scanpatt, patt);
    printf("Enter words: ");
    while (scanf(scanpatt, word) == 1)
        if ((p = strstr(word, patt)) != NULL) {
            for (offset = p-word;
                 p != NULL;
                    prevp = p,
                    p = strstr(word+offset+1, patt),
                    offset = p-word)
                ;
            if (*(prevp+strlen(patt)) == '\0'
             && *(prevp+strlen(patt)-1) != '\0')
                printf("%s\n", word);
        }
    return 0;
}
Добавлено через 13 минут 16 секунд
ошибки
Код
char *chBuf = strchr(chStr,chMask); - Cannot convert 'int' to 'char *'

chStr++; Lvalue required
первая говорит, что chMask должна быть типа int (то есть быть одиночным символом (символьной константой))
вторая, что chStr нельзя сдвигать, т.к. это имя массива
требуется lvalue (то есть доступ к ячейке памяти в которой хранится значение, чтобы прочитать это значение или изменить); понятие lvalue произошло из операции присваивания, leftside value, идентификатор или операция является lvalue если её можно поставить в левую часть операции присваивания (то есть получить доступ к ячейке памяти)
 
Текущее время: 03:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru