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

Для каждого слова определить, является ли оно корректным именем - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти в тексте наибольший по длине начальный отрезок цифрового алфавита http://www.cyberforum.ru/cpp-beginners/thread1112939.html
Дана последовательность символов (строка). Найти в тексте наибольший по длине начальный отрезок цифрового алфавита или вывести сообщение, что такого отрезка нет.
C++ Найти количество тех элементов массива Найти количество тех элементов массива, которые не содержат в своей записи цифру 5, а также найти минимальный элемент среди тех, которые имеют заданное количество делителей http://www.cyberforum.ru/cpp-beginners/thread1112937.html
Поиск наибольшего на нижнем уровне мультисписка C++
Здравствуйте! Интересует вопрос: есть мультисписок, на верхнем уровне которого находится Страна, а на нижнем Блюдо и Количество калорий! функция должна вернуть на экран информацию о стране, где есть блюда с наибольшим количеством калорий! Подскажите как реализовать! typedef struct Bludo{ string name; int kalory; Bludo *next; }TBludo; ...
C++ Получить все числа Армстронга
Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу (например, 153=13+53+33). Получить все числа Армстронга, состоящие из двух, трех и четырех цифр. gj;fkeqcnf
C++ Написать функцию SUM (int M, int N) / С++ для начинающих http://www.cyberforum.ru/cpp-beginners/thread1112924.html
Написать функцию SUM (int M, int N), которая вычисляет и возвращает сумму всех чисел кратных 3 и 9 в пределах от M и N включительно . Использовать оператор цикла с параметром.
C++ Найти разность суммы положительных и произведения отрицательных чисел массива Найти разность суммы положительных и произведения отрицательных чисел массиванапишите программу,пожалуйста))) подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
06.03.2014, 20:42     Для каждого слова определить, является ли оно корректным именем
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
45
46
47
48
49
50
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <memory.h>
#include <ctype.h>
 
#include <iostream>
 
using namespace std;
 
int main(int argc, char* argv[])
{
    int num_words = 0;
    std::cout << "Enter the number of words: "; std::cin >> num_words;
 
    char** pwords = new char*[num_words];
    memset((void*)pwords, 0x00, 4 * num_words);
 
    static char word[256] = "\0";
    for (int index = 0; index < num_words; index++)
    {
        pwords[index] = new char[256];
        std::cout << "Enter a word " << index << ": "; std::cin >> pwords[index];
    }
 
    std::cout << endl << endl;
 
    char* keywd[] = { "if", "for", "do", "while", "switch", "const", "int", "long", "\0" };
    for (int index = 0; index < num_words; index++)
    {
        char* word = pwords[index]; 
        bool wdc1 = false, wdc2 = false, wdc3 = false;
        for (int ntype = 0; ntype < 3 && isalpha(*word); ntype++)
            for (int index = 1; word[index] != '\0'; index++)
                if (ntype == 0 && isalpha(word[index]))      wdc1 = true;
                else if (ntype == 1 && isdigit(word[index])) wdc2 = true;
                else if (ntype == 2 && word[index] == '_')   wdc3 = true;
 
        bool wdc4 = false;
        for (int nindex = 0; strcmp("\0", keywd[nindex]) < 0 && !wdc4; nindex++)
            wdc4 = !strcmp(word, keywd[nindex]) ? 1 : 0;
 
        std::cout << "word " << word << " is " 
            << ((wdc1 && wdc2 && wdc3 && !wdc4) ? "correct" : "incorrect") << endl;
    }
 
    _getch();
 
    return 0;
}
 
Текущее время: 19:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru