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

автомат для проверки ввода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ про std http://www.cyberforum.ru/cpp-beginners/thread827948.html
Доброго времени суток. Написал достаточно большую программу и тут понадобилось удалить файл.... прочитал в инете про функцию int remove. В начале проги написано using namespace std; Когда стал...
C++ с++ dos box,64 разрядная платформа - Выполнить скалярное произведение двух векторов Выполнить скалярное произведение двух векторов. Обеспечить проверку на равенство длин векторов http://www.cyberforum.ru/cpp-beginners/thread827940.html
C++ Конструктор копирования в Visual Studio 2012
По идее это должен выполнять конструктор копирования. В мэине String rgb = s1; работает, а String rgb = String (s1); уже нет. хэдэр #ifndef STRING1_H_ #define STRING1_H_ #include <iostream>...
C++ с++ dos box,64 разрядная платформа - Выполнить поиск максимального и минимального элементов массива
Выполнить поиск максимального и минимального элементов массива, подсчитать количество положительных, отрицательных и нулевых элементов массива
C++ с++ dos box,64 разрядная платформа - Вычислить максимальный показатель степени числа http://www.cyberforum.ru/cpp-beginners/thread827935.html
Задано число. Вычислить максимальный показатель, с которым степень этого числа по длине не превысит слова.
C++ с++ dos box,64 разрядная платформа - Вычислите n-й член F(n) последовательности Фибоначчи Вычислите n-й член F(n) последовательности Фибоначчи. В этой последовательности первые два члена равны 1, а каждый последующий равен сумме двух предыдущих подробнее

Показать сообщение отдельно
awpe
2 / 2 / 0
Регистрация: 23.11.2011
Сообщений: 87

автомат для проверки ввода - C++

04.04.2013, 15:32. Просмотров 522. Ответов 2
Метки (Все метки)

Доброго времени суток,

Нужно проверять ввод на ошибки, читаю матрицу. Пример ввода:
/*{
{1.0,2.0,3.0},
{4.0,5.0,6.0}
}*/

это содержится в переменной типа std::istream is;

начал решать с помощью if else и while, получается какая то большая структура из условий, я сам начинаю путаться, знакомый посоветовал использовать конечный автомат, до этого не был знаком с такой теорией, почитал, выглядит здорово. Но самому написать не выходит, застрял на бумаге...

Тип чисел double, точность произвольная, т.е. нужно по хорошему читать так is>>double d; посимвольно сложно будет

Проблема в том, что между смысловыми знаками в потоке могут случайным образом быть расставлены любые "пробельные" символы (табуляции, пробелы, новые строки). Мне нужно их игнорировать, одна из проблем - новая строка, с одной стороны там должна начаться новая строка матрицы, но ведь это может быть и просто символ если скобка строки еще не закрылась... И последняя строка после закрывающей скобки не имеет запятой, выходит нужно после каждой закрывающей скобки ждать либо запятую либо закрывающую скобку - еще одно условие с циклом у меня...

Буду благодарен, если кто-нибудь набросает на словах, как должен выглядеть такой автомат, или ссылку даст...

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