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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Алёнка <3
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 26
#1

шаблон - C++

11.01.2011, 18:00. Просмотров 487. Ответов 8
Метки нет (Все метки)

подскажите, пожалуйста, как на языке СИ сравнить слово с шаблоном ?
то есть, например, есть шаблон *%#, где * - только цифры, % - только буквы и тд..
причём нужно. чтобы символы располагались именно в таком порядке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2011, 18:00     шаблон
Посмотрите здесь:

Шаблон - C++
Доброго времени суток. Есть две функции: void mouseMove( int x, int y, int speed = 1, int xMaxOffset = 0, int yMaxOffset = 0 ); void...

Шаблон - C++
Имеется код: //header #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;valarray&gt; using namespace std; template &lt;class T1,...

Шаблон - C++
Всем доброе время суток)) Вот нпаисал прогу: #include &lt;string.h&gt; #include &lt;iostream&gt; using namespace std; template&lt;class T&gt; ...

Шаблон - C++
Подскажите пожалуйста про шаблон! Создать шаблон класса: двухсвязный список. Добавления элементов int, string;

Шаблон - C++
Создать класс-шаблон, содержащий поля для хранения одномерного массива и количества элементов в массиве. Описать методы для инициализации и...

Меню(Шаблон) - C++
Подскажите как сделать меню на С++ 1. Запуск программы один 2. Запуск программы два 3. Выход Чтобы допусти при выборе программы...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
11.01.2011, 19:28     шаблон #2
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
#include <stdio.h>
#include <string.h> 
 
#define SIZE 80
 
// # - число, & - символ;
 
int good(const char* templates, const char* string)
{
    size_t len_t = strlen(templates), len_s = strlen(string), i = 0;
    if (len_t != len_s)
        return 0;
    else
    {   
        for (; i < len_s; ++i)
            if (templates[i] == '#' && isdigit(string[i]) || templates[i] == '&' && isalpha(string[i]))
                continue;
            else
                return 0;
    }
    return 1;
}
 
int main()
{
    char templates[SIZE], string[SIZE];
    printf("Enter the template\n");
    scanf("%s", templates);
    printf("Enter the expression\n");
    scanf("%s", string);
    if (good(templates, string))
        printf("Yes\n");
    else
        printf("No\n");
    return 0;
}
пример
Алёнка <3
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 26
11.01.2011, 20:13  [ТС]     шаблон #3
спасибо
если не сложно, не могли бы вы переписать эту программу, чтобы в качестве шаблона были правильные идентификаторы языков си и паскаль ?)
то есть из слов, введённых в строку через пробел программа должна подсчитать кол-во этих самых правильных идентификаторов.


идентификатор содержит только _, a-zA-Z, 0-9 и начинаться с цифры не может

правильные: abc, a1, b_, _b4, __CC_5, _abcdefG
неправильные: +ab, a.b, 1a, _abcd-
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
11.01.2011, 20:29     шаблон #4
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
#include <stdio.h>
#include <string.h> 
 
#define SIZE 80
 
int good(const char* string)
{
    size_t len_s = strlen(string), i = 0;
    if(isdigit(string[i]) || !len_s)
        return 0;
    for (; i < len_s; ++i)
        if (isdigit(string[i]) || isalpha(string[i]) || string[i] == '_')
            continue;
        else
            return 0;
    return 1;
}
 
int main()
{
    char string[SIZE];
    printf("Enter the expression\n");
    scanf("%s", string);
    if (good(string))
        printf("Yes\n");
    else
        printf("No\n");
    return 0;
}

Не по теме:

для спасибо есть кнопка

Алёнка <3
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 26
12.01.2011, 13:22  [ТС]     шаблон #5
огромное человеческое спасибо !

Добавлено через 16 часов 43 минуты
извините, ещё один вопрос:
вот эта строчка
C
1
if(isdigit(string[i]) || !len_s)
кроме как проверки первого символа "число или нет", что ещё делает ?
то есть что значит !len_s ?
SashaPinsk
39 / 37 / 2
Регистрация: 27.12.2009
Сообщений: 73
12.01.2011, 13:25     шаблон #6
C++
1
!len_s
эквивалентно
C++
1
len_s == 0
Алёнка <3
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 26
12.01.2011, 13:43  [ТС]     шаблон #7
то есть это значит, если слово начинается с числа, и его длина не 0 ?
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
12.01.2011, 13:47     шаблон #8
Алёнка <3, наоборот ноль
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2011, 13:50     шаблон
Еще ссылки по теме:

Шаблон функции - C++
Создать шаблон функции, выполняющей Комбинированный метод быстрой сортировки с методом «пузырька» Протестировать шаблон для массивов с...

шаблон функции - C++
подсчитать среднее арифметическое элементов расположенных выше главной диагонали. Непойму где ошибка. #include&lt;iostream&gt; using...

Шаблон списки - C++
Посмотрите что не так // Лабораторная работа 6.1.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; ...

Шаблон функции - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; template &lt;class T&gt; T abs(T n) { return static_cast&lt;unsigned...


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

Или воспользуйтесь поиском по форуму:
Алёнка <3
0 / 0 / 0
Регистрация: 10.12.2010
Сообщений: 26
12.01.2011, 13:50  [ТС]     шаблон #9
а, ну да, конечно

я туплю ))
спасибо большое )
Yandex
Объявления
12.01.2011, 13:50     шаблон
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru