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

Pascal ABC

Войти
Регистрация
Восстановить пароль
 
Николай000
0 / 0 / 0
Регистрация: 15.12.2014
Сообщений: 15
#1

Строки - Pascal ABC

09.12.2015, 13:08. Просмотров 126. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста с задачей.
В произвольном тексте содержащем не более 10 строк в каждой строке не более 80 символов выбрать и напечатать слова по данному образцу *#*#* где * - СОГЛАСНАЯ # - ГЛАСНАЯ)

Вот мой код. Не могу сделать цикл.

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
program n3;
const 
sogl = ['Й','й','Б','б','В','в','Г','г','Д','д','Ж','ж','З','з','К','к','Л','л','М','м','Н','н','П','п','Р','р','С','с','Т','т','Ф','ф','Х','х','Ч','ч','Ш','ш','Ц','ц','Щ','щ'];
glasn = ['А','а','Е','е','Ё','ё','И','и','О','о','У','у','Ы','ы','Э','э','Ю','ю','Я','я'];
var
    fullstr,s,s1: string;
    space,i,i1: integer;
    
begin
    writeln('String:');
    readln(fullstr);
 
    while fullstr[1] = ' ' do
        delete(fullstr,1,1);
    while fullstr[length(fullstr)] = ' ' do
        delete(fullstr,length(fullstr),1);
    while pos('  ',fullstr) <> 0 do
        delete(fullstr,pos('  ',fullstr),1);
 
    s1 := '';
        while fullstr <> '' do begin
        space := pos(' ',fullstr);
        if space = 0 then
            space := length(fullstr) + 1;
        s := copy(fullstr,1,space-1);
        for i:=1 to length(s) do
        i1:=2*i-1;
        //i2:=2*i;
        begin
        if s[i] in sogl// and s[i2]=glasn
         then
            s1:= s1 + s + ' ';
            end;
        delete(fullstr,1,space);
    end;
 
 
    writeln('Words: ',s1);
 
readln
end.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2015, 13:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки (Pascal ABC):

Файл: Создайте текстовый файл, содержащий в начале каждой строки гласные буквы соответствующей строки файла, а в конце строки - согласные - Pascal ABC
Создайте текстовый файл, содержащий в начале каждой строки гласные буквы соответствующей строки данного текстового файла, а в конце строки...

Слить две строки, вставив символы одной строки между символами другой строки - Pascal
Строка a из n символов лексикографически меньше строки b из n символов, если существует такой индекс j, что aj &lt; bj, а для всех i &lt; j ai =...

Строки. Если в конце строки точка отсутствует, то найти слово, заканчивающееся точкой и перенести его в конец строки. - Pascal
Дана строка, состоящая из слов и содержащая одну точку в конце одного из слов. Если в конце строки точка отсутствует, то найти слово,...

Дописывать в файл строки, проверяя, нет ли в файле точно такой строки - Pascal ABC
Имеется текстовый файл. Написать программу, позволяющую дописывать в файл строки, проверяя, нет ли в файле точно такой строки. Если строка...

Дописать в файл строки, проверяя, нет ли в файле точно такой строки - Pascal ABC
Помогите решить, заранее спасибо)) 10. Имеется текстовый файл. Написать программу, позволяющую дописывать в файл строки, проверяя, нет ли...

Вырезать два первых символа символьной строки и поместить их в конец строки - Pascal
Помоги те пожалуйста, решите сколько сможете. Задачи на строки. 2. Вырежьте два первых символа символьной строки и поместите их в...

5
Puporev
Модератор
52370 / 40217 / 13559
Регистрация: 18.05.2008
Сообщений: 92,942
09.12.2015, 16:23 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
program n3;
const
sogl = ['Й','й','Б','б','В','в','Г','г','Д','д','Ж','ж','З','з','К','к','Л','л','М','м','Н','н','П','п','Р','р','С','с','Т','т','Ф','ф','Х','х','Ч','ч','Ш','ш','Ц','ц','Щ','щ'];
glasn = ['А','а','Е','е','Ё','ё','И','и','О','о','У','у','Ы','ы','Э','э','Ю','ю','Я','я'];
rz=[' ',',','.','?','!'];
n=1;
type strk=string[80];
function maska(s:strk):boolean;
begin
maska:=(length(s)=5)and(s[1] in sogl)and(s[3] in sogl)
and(s[5] in sogl)and(s[2] in glasn)and(s[4] in glasn);
end;
var  fullstr,s,s1: string[80];
     i,j,k,q: integer;
begin
q:=0;
for i:=1 to n do
 begin
   writeln('Введите строку на русском языке до 80 символов:');
   readln(fullstr);
   j:=1;
   while(j<=length(fullstr)) do
   if not(fullstr[j] in rz)and((j=1)or(fullstr[j-1] in rz))then
    begin
     s:='';
     k:=j;
     while(k<=length(fullstr))and not(fullstr[k] in rz) do
      begin
       s:=s+fullstr[k];
       k:=k+1;
      end;
     if maska(s) then
      begin
       write(' ',s);
       q:=1;
      end;
    j:=j+length(s);
   end
  else j:=j+1;
 end;
 if q=0 then write('Нет слов, соответствующих маске');
 end.
1
Николай000
0 / 0 / 0
Регистрация: 15.12.2014
Сообщений: 15
09.12.2015, 18:01  [ТС] #3
Оно не выводит( Пишет:"Нет слов, соответствующих маске"
0
Puporev
Модератор
52370 / 40217 / 13559
Регистрация: 18.05.2008
Сообщений: 92,942
09.12.2015, 18:06 #4
Значит какую-то хрень вводишь из-за отсутствия извилин в мозгу..
0
Миниатюры
Строки  
Puporev
Модератор
52370 / 40217 / 13559
Регистрация: 18.05.2008
Сообщений: 92,942
09.12.2015, 18:07 #5
А то я думаю и чего это у тебя в нике 3 ноля..
0
Николай000
0 / 0 / 0
Регистрация: 15.12.2014
Сообщений: 15
09.12.2015, 18:08  [ТС] #6
Все спасибо разобрался)
0
09.12.2015, 18:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2015, 18:08
Привет! Вот еще темы с ответами:

Вычесть из каждого элемента строки первый отрицательный элемент данной строки - Pascal ABC
Ребят помогите с условием. Вычесть из каждого элемента строки первый отрицательный элемент данной строки. var mas:array of...

В матрице переставить строки в порядке убывания количества отрицательных элементов строки - Pascal ABC
В матрице А и В переставить строки в порядке убывания количества отрицательных чисел в строке. Спасибо за ранее!

Отсортировать строки матрицы по возрастанию сумм положительных элементов каждой строки - Pascal
Дана прямоугольная матрица размером n x m, содержащая вещественные числа. Определить сумму положительных элементов в каждой строке матрицы...

Вывести первое слово строки, если первый символ строки-пробел - Pascal ABC
uses crt; var s1, s2, s3, s4 : string; k, n, i : byte; a : set of char; ch : char; begin s2 := ''; s4 := ''; a := ;


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru