Форум программистов, компьютерный форум, киберфорум
Наши страницы

Проверка синтаксиса объявления переменных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран числа в виде таблицы http://www.cyberforum.ru/cpp-beginners/thread414717.html
Вывести на экран числа в виде таблицы помогите решить!!! 9 4 8 8 3 3 7 7 7 2 2 2 6 6 6 6
C++ Укажите на ошибки, массив ]Сформировать из cтолбцов матрицы В матрицу С, в которой столбцы расположены в порядке убывания модулей сумм их элементов. #include<iostream> #include<iomanip> #include<cmath> #include... http://www.cyberforum.ru/cpp-beginners/thread414706.html
C++ Распечатать те пары слов, расстояние между которыми наименьшее.
Расстояние между словами - это количество позиций, в которых буквы различаются. Например, расстояние между словами МАМА и ПАПА или МЫШКА и КОШКА равно двум. --- Народ, помогите пожалуйста решить...
C++ Сортировка матрицы
все нулевые элементы размещены в левой части матрицы
C++ Работа со строкой http://www.cyberforum.ru/cpp-beginners/thread414693.html
Написать прогу которая переварачивает слова в строке s
C++ Написать программу для моделирования теорема образного сортировочного узла на железной дороге с использованием контейнерного класса из STL написать программу для моделирования теорема образного сортировочного узла на железной дороге с использованием контейнерного класса из STL подробнее

Показать сообщение отдельно
Yakoot
15 / 15 / 2
Регистрация: 13.11.2011
Сообщений: 65

Проверка синтаксиса объявления переменных - C++

23.12.2011, 20:28. Просмотров 535. Ответов 1
Метки (Все метки)

суть задачи такова:
во входном файле код объявления переменных.. нужно проверить на наличие ошибок, и выдать позицию первой ошибки..
могут быть типы
int
short int
long int
short
long
int short
int long
double
long
double long
long double
char

ну и собственно имя переменной или массива..
без инициализации
на паре делали проверку правильности double числа.. там сперва граф строится.. затем составляется таблица состояний.. и по ней циклами прогоняется..
вот так вот
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
int main()
{
    int table[8][5] = {
                        {1, 2, 3, -1, -1},
                        {-1, 2, 3, -1, -1},
                        {-1, 2, 4, 5, 255}, 
                        {-1, 4, -1, -1, -1},
                        {-1, 4, -1, 5, 255},
                        {7, 6, -1, -1, -1}, 
                        {-1, 6, -1, -1, 255},
                        {-1, 6, -1, -1, -1}};
    char p[5][11] = {"+-", "0123456789", ".", "Ee", "$"};
    
    char str[] = "-8.21+56546e+3$";
    int a, i = 0, n = 0;
    do
    {
        for (a = 0; a < 5; a++)
        {
            if (strchr(p[a], str[i]) != NULL)
                break;
        }
        if(a == 5) n=-1;
        else
        {
            n = table[n][a];
            i++;
        }
    }
    while (n != -1 && n != 255);
    if (n == -1)
        cout << "Error!!! pos = " << i << endl;
    else
        cout << "OK!" << endl;
    return 0;
}
а насчет основного задания чот как-то непонятно.. граф я подобный составил.. но там типы надо сравнивать полексемно, а все остальное посимвольно.. помогите кто чем может)

 Комментарий модератора 
Чтобы "поднять" тему в разделе и поиске по форуму, используйте осмысленные сообщения, например "Тема/проблема/задача актуальна". Если вы чего-то достигли в решении проблемы на этот момент, сообщите об этом.

Будете продолжать в том же духе, начну раздавать карточки.


Добавлено через 10 часов 32 минуты
тема актуальна
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru