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

Из массива строк выделить подстроки состоящие из русских букв, затем найти среди них самую котороткую - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дан массив целых чисел. Найти В этом массиве минимальный элемент т и максимальный элемент м. Вывести сумму элементов от минимального до максимального http://www.cyberforum.ru/cpp-beginners/thread804799.html
Дан массив целых чисел. Найти В этом массиве минимальный элемент т и максимальный элемент м. Вывести сумму элементов от минимального до максимального элемента не включая их.
C++ Указатель на объект с перегруженным оператором вывода(с наследованием) Есть два класса: строка(базовый) и комплексное число(производный). В базовом классе есть поле stri (указатель на char). В производном классе есть перегруженный оператор вывода для этого поля. Как следует написать этот оператор(или что-либо ещё изменить), чтобы он выдавал на экран stri, а не адрес памяти? #include "stdafx.h" #include "iostream" using namespace std; int ck=0,cf=0; http://www.cyberforum.ru/cpp-beginners/thread804794.html
Чем заголовочные файлы отличаются от обычных бибилиотек? C++ C++
вроди как это одной и тоже, только в стандартной библиотеки C все файлы заголовочные, а в C++ обычные библиотеки... В чем разница между ними, ведь и там и там лежат подобные сущности.
Ругается компилятор C++
Создать класс жидкость, имеющий название (указатель на строку), плотность. Определить конструкторы, деструктор и операторы вывода в поток. Создать производный класс - спиртные напитки, имеющий крепость. Определить функции переназначения плотности и крепости. Продемонстрировать работу классов. #include <iostream> class jidkost { public: jidkost(char *Njid, double Pjid); protected: char...
C++ Найти количество действительных корней квадратного уравнения http://www.cyberforum.ru/cpp-beginners/thread804754.html
не могу найти ошибку.Компилятор ругается Суть задачи : Определить кол-во действительных корней квадратного уравнения ax^2+bx+c=0 с произвольными значениями a,b,c. #include <iostream> #include <math.h> void main() double a,b,c,d,x1,x2; std::cout<<"Vvedi koeficienti a,b,c"; std::cin>>a; std::cin>>b;
C++ вывести значение числа цифр в дробной части числа #include "stdafx.h" #include <locale.h> #include <conio.h> #include <iostream> using namespace std; class Chislo { double x; подробнее

Показать сообщение отдельно
gazlan
3086 / 1861 / 278
Регистрация: 27.08.2010
Сообщений: 5,009
Записей в блоге: 1
11.03.2013, 23:57     Из массива строк выделить подстроки состоящие из русских букв, затем найти среди них самую котороткую
Цитата Сообщение от Sabonar Посмотреть сообщение
в строке "Авбфы_ыфвывф_123ыв_asd" где "_" - это пробел, по идее должны выделятся подстроки "Авбфы" и "ыфвывф"
Ну, да. А что вас смущает? Пробел (0x20) не входит в диапазон русских букв и не будет рассматриваться как часть слова.

Пример "на пальцах". Пусть весь алфавит трехсимвольный AZ_, где A считаем русской буквой, Z - латинской, а _ - пробелом. Их HEX коды будут 0, 1 и 2, соответственно, а ваша булевская таблица будет иметь размер 3.

Для выделения только русских букв выставляем флаги
C++
1
2
3
T[0] = 1; // true
T[1] = 0; // false
T[2] = 0; // false
Пусть текст хранится в массиве Str.

Тогда проверка для i-ой буквы строки
C++
1
if (T[(BYTE)Str[i]])
вернет 1 (true) если это русская буква и 0 (false) для любой другой.

Для небольших алфавитов это самый простой и быстрый способ (В Asm есть даже специальная команда для этого).

Весь ваш код, по сути, сводится к двум циклам while ()

C++
1
2
3
4
while (!русская_буква)
{
   переходим к следующей
}
C++
1
2
3
4
while (русская_буква)
{
   добавляем ее к слову
}

Можете еще скачать с моей странички WordLister и посмотреть, как в нем устроены таблицы трансляции (.XLT) - он работает именно так и предназначен именно для парсинга произвольных текстов по заданному пользователем алфавиту.
 
Текущее время: 03:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru