Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 4
1

Поиск в строке

31.10.2010, 19:32. Показов 3364. Ответов 6
Метки нет (Все метки)

Идея такова: мне нужно найти в строке НЕСКОЛЬКО СИМВОЛОВ и записать их в отдельную строку
(сами символы или позиции неважно, засол в том чтобы определить количество переменных в строке)
я делаю то так
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure CountStr (var FS:string);
    begin
    if (Pos('x',FS))<>0 then
      begin
      Str(Pos('x',FS),MiniX);
      MiniX:='|';
      Insert(MiniX,ToX,1);
      end;
    if (Pos('y',FS))<>0 then
      begin
      Str(Pos('y',FS),MiniX);
      MiniX:='|';
      Insert(MiniX,ToX,1);
      end;
    if (Pos('z',FS))<>0 then
      begin
      Str(Pos('z',FS),MiniX);
      MiniX:='|';
      Insert(MiniX,ToX,1); 
 
//потом вывожу длинну MiniX в переменную которая и будет кол-вом переменных в строке
      
      end;
end;
вопрос: можно ли сделать ето как-то более обопщенно, например интервалом a-z а не прописывать каждую переменную по отдельности, как делаю я?

Добавлено через 9 минут
На правах апа

Добавлено через 32 минуты
И еще 1 ап
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2010, 19:32
Ответы с готовыми решениями:

Поиск символа в строке. Как осуществить поиск в обратном направлении
Всем доброго времени суток. Вопрос такой: как осуществить поиск в обратном направлении, т.е. я в...

Поиск слова в строке.
Нужен алгоритм поиска в строке на pascal

Поиск и вывод чисел в строке
Ввести текст, содержащий от 1 до 4 цифровых символов, отображающих целые числа от 1 до 2000. На...

Поиск фрагмента текста в строке
Результатом поиска должно быть выведение номера позиции строки с какого начинается фрагмент и...

6
Неадекват и грубиян
310 / 297 / 301
Регистрация: 22.02.2010
Сообщений: 645
31.10.2010, 19:36 2
я что то задание никак не уловлю
0
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 4
31.10.2010, 20:05  [ТС] 3
нету тут задания, я просто хочу найти в строке переменные(переменные будут буквами от a до z)
и выписать их индексы или их самих в другую строку,
тобишь для выражения a+b+zy+c+25-6
итоговая строка должна выглядеть либо так: |||||(вместо | молжно любой символ, главное чтоб длинна итоговой строки была равна кол-ву переменных в изначальной строке)
или abzyc
еще пример ac+28*j+c/344*с-258/a*j вот что должен вывести ||| или или
Тобишь то что я делаю это ищу позицию буквы в строке, если ета позиия не 0 то в итоговую строку записываю '|' потом ищу другую букву и т.д.
Хотелось бы не прописывать все это бля каждой буквы a-z , а както по общему находить их сразу в строке и если есть то записывать в др. строку по одному символу '|' для каждой буквы
Так и получится что длина итоговой строки будет равна кол-ву переменных в изначальной строке.
0
Почетный модератор
64087 / 47496 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
31.10.2010, 20:06 4
Pascal
1
2
3
4
5
const sm=['X','x','Y','y','Z','z'];
......................
s1:='';
for i:=1 to length(s) do
if s[i] in sm then s1:=s1+s[i];
2
Неадекват и грубиян
310 / 297 / 301
Регистрация: 22.02.2010
Сообщений: 645
31.10.2010, 21:22 5
Dely, я просто не поверил, что такое просто задание завело вас в такие дебри, которые я увидел в вашем варианте.
1
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 4
01.11.2010, 01:18  [ТС] 6
Спасибо всем, во то что я искал=)
не знал о существовании такой чтуки как "in"

Добавлено через 12 минут
Puporev, блин осознал что ет не то, сольто в том, чтобы определить кол-во переменных. Тобишь, если брать ваш вариант, то в выражении a+bx/2a будет 4 переменных, а там их 3. Хочцца чтобы он видел буковку --> записывал ее(или ее индекс или просто любой символ(только 1)) в строку --> забывал о ней, даже если она еще раз встретится в выражении. Таким образом длина итоговой строки должна стать кол-вом переменных во введенном изначально выражении выражении.
Именно по этому мой вариант такой большой, да еще и не удобный, ибо только x,y,z найдет.

Какие большие посты то стали получаться, много треплюсь ахаха=)
0
Почетный модератор
64087 / 47496 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
01.11.2010, 06:54 7
Dely, Чтобы посчитать количество разных символов в строке можно так.
Pascal
1
2
3
4
5
6
7
var c:char;
     i:byte;
     s:string;
...............
kol:=0;
for c:='a' to 'z' do
if pos(c,s)>0 then inc(kol);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2010, 06:54

поиск слов в строке текста
Дана строка текста. Найти слова в которых больше половины гласных букв(a,e,i,o,u,y) и выдать их на...

Поиск вещественных чисел в произвольной строке символов
Ребят, всем привет! Нужна программа на паскале на тему &quot;работа со строковыми переменными&quot;. Суть...

Поиск подстроки в строке с подсчётом количества сравнений
Вот есть прога которая ищет подстроку в текстовом файле, но немного неправильно. Помогите...

Поиск и подсчет буквосочетаний в слове, находящемся в строке
Помогите пожалуйста! Очень надо! Поиск и подсчет буквосочетаний из 2 букв, первая а.(Например: AA,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru