Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 12
1

Задан текст, нужно узнать, стоят между ,буквами "a" и "z" цифры

03.10.2013, 17:11. Просмотров 960. Ответов 7
Метки нет (Все метки)


Вот полное задание, помогите пожалуйста написать текст программы:

Задан текст, состоящий из цифр и букв. Логической переменной b придать значение true, если между буквами - "a" и - "z" нет других символов, кроме строчных латинских букв, и значение false в противном случае.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2013, 17:11
Ответы с готовыми решениями:

Вывести текст файла, заменив цифры от 0 до 9 на слова "ноль", "один"..."девять", начиная каждое предложение с новой строки
Написать программу, которая считывает текст из файла и выводит его на экран, заменив цифры от 0 до...

Удвоить в строке буквы "ю", "ъ", "ф", "э", а между словами оставить только по одному пробелу
Пользователь заполняет символьную строку русскими буквами. Буквы ю, ъ, ф, э в ней нужно удвоить, а...

Из слова "клоун" путем "вырезок" и "склеек" его букв получить слова "уклон","кулон" и "колун"
Из слова "клоун" путем "вырезок" и "склеек" его букв получить слова "уклон","кулон" и...

Даны текстовый файл "F" и строка "S". Получить все строки файла "F", содержащие в качестве фрагмента строку "S".
Плиз помогите написать прогу: Даны текстовый файл "F" и строка "S". Получить все строки файла "F",...

7
3450 / 2388 / 2135
Регистрация: 04.12.2011
Сообщений: 3,965
03.10.2013, 18:03 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
var
  s: string;
  i,p,q: byte;
  b: boolean;
begin
  write('Ââåäèòå òåêñò: ');
  readln(s);
  p:=pos('a',s); q:=pos('z',s);
  if (p=0) or (q=0) then  // åñëè íåò ñèìâîëà 'a' èëè 'z'
  writeln('Íåâåðíî çàäàí òåêñò') else
  begin
    b:=true;
    // åñëè 'a' ñòîèò äî 'z'
    if p<q then
    begin
      for i:=p to q do
        if not (s[i] in ['a'..'z']) then b:=false
    end else
    // åñëè 'z' ñòîèò äî 'a'
    if p>q then
    begin
      for i:=p downto q do
        if not (s[i] in ['a'..'z']) then b:=false
    end;
    writeln('b=',b);
  end;
  readln;
end.
1
94 / 94 / 32
Регистрация: 29.06.2013
Сообщений: 252
03.10.2013, 18:06 3
Вот еще вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Program strokaz;
var S: String;
    i: Integer;
    b: Boolean;
begin
b := True;
Write('Ââåäèòå ñòðîêó: ');
ReadLn(S);
for i:=1 to Length(S) do
    if S[i]='a' then
       repeat
       if not (S[i] in ['a'..'z']) then b:=False;
       Inc(i);
       until (S[i]='z') or (i=Length(S));
WriteLn('b = ',b);
end.
2
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 12
03.10.2013, 19:15  [ТС] 4
Спасибо огромное, только я забыл предупредить, тип string использовать нельзя. Я понимаю что вас напрягаю, но напиши еще вариант используя только (char,integer,boolean)
0
94 / 94 / 32
Регистрация: 29.06.2013
Сообщений: 252
03.10.2013, 19:35 5
Вот! Но теперь нельзя редактировать текст при вводе. Если это необходимо, пишите...
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
Program strokaz;
uses Crt;
var S: Array [1..100] of Char;
    i,n: Integer;
    b: Boolean;
begin
ClrScr;
b := True;
i := 1;
Write('Ââåäèòå ñòðîêó: ');
repeat
    S[i] := ReadKey;
    Write(S[i]);
    Inc(i);
until S[i-1]=#13;
n:=i-1;
for i:=1 to n do
    if S[i]='a' then
       repeat
       if not (S[i] in ['a'..'z']) then b:=False;
       Inc(i);
       until (S[i]='z') or (i=n);
WriteLn;
WriteLn('b = ',b);
end.
1
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 12
03.10.2013, 19:48  [ТС] 6
Это все, все равно чуть не то что я хотел( Мне надо ее написать по примитивному не используя никаких массивов и т.д. И данные должны вводиться через файл.
Вот один из примеров:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program charv6p;
uses crt;
var dig,next:char;
     f1:text;
    begin clrscr;
    assign(f1,'charv4d.pas');
    reset(f1);
   while not eof(f1) do begin
   read(f1,dig);
   if dig='9' then begin next:='0'; write(next) end;
   if ((dig>='0') and (dig<='8')) then begin next:=chr(ord(dig)+1);
    write(next) end ;
    end;
    end.
0
94 / 94 / 32
Регистрация: 29.06.2013
Сообщений: 252
03.10.2013, 20:11 7
Может так?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program strokaz;
var F: Text;
    c: Char;
    b: Boolean;
begin
b := True;
Assign(F,'Name.txt');
Reset(F);
While not EoF(F) do
    begin
    Read(F,c);
    if c='a' then
       repeat
       Read(F,c);
       if not (c in ['a'..'z']) then b:=False;
       until (c='z') or EoF(F);
    end;
Close(F);
WriteLn('b = ',b);
end.
1
0 / 0 / 0
Регистрация: 02.10.2013
Сообщений: 12
03.10.2013, 20:44  [ТС] 8
Цитата Сообщение от Turbal Посмотреть сообщение
Program strokaz;
var F: Text;
* * c: Char;
* * b: Boolean;
begin
b := True;
Assign(F,'Name.txt');
Reset(F);
While not EoF(F) do
* * begin
* * Read(F,c);
* * if c='a' then
* * * *repeat
* * * *Read(F,c);
* * * *if not (c in ['a'..'z']) then b:=False;
* * * *until (c='z') or EoF(F);
* * end;
Close(F);
WriteLn('b = ',b);
end.
Спасибо огромное, это то -что нужно!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2013, 20:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Пожалуйста, составьте программу, которая из слов"СТРАХ","БЕЛКА","ЦЫПЛЁНОК" получает слово "СТОЛБЕЦ"
Пожалуйста, составьте программу, которая из слов&quot;СТРАХ&quot;,&quot;БЕЛКА&quot;,&quot;ЦЫПЛЁНОК&quot; получает слово &quot;СТОЛБЕЦ&quot;.

Изобразить стрелку и осуществить движение по клавишам "вверх", "вниз", "вправо", "влево"
Необходимо изобразить стрелку и осуществить движение по клавишам &quot;вверх&quot;, &quot;вниз&quot;, &quot;вправо&quot;, &quot;влево&quot;.

Даны строки а="вариант",b= "Высоко", с = "макароны". Получить слово "соковарка"
4 .Даны строки а=&quot;вариант&quot;,b= &quot;Высоко&quot;, с = &quot;макароны&quot;. Получить слово &quot;соковарка&quot;.

Заменить букву "А" на "КО" и подсчитать общее количество букв "Ф" и "В"
Заменить букву &quot;А&quot; на &quot;КО&quot; и подсчитать общее кол-во букв &quot;Ф&quot; и &quot;В&quot; . и Последнее...


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

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

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