PDA

Просмотр полной версии : Паскаль, простенькие задачи



Lacrin
11.10.2007, 22:05
Помогите пожалуйста с парочкой простейших задач. Дали контрольную по паскалю, а я не вшариваю никак(
1) Ввести строку и подсчитать количество символов в ней
2) В строке есть как минимум один символ "а". определить их количество
3) -"- символ "б". Предусмотреть вывод на экран всех позиций "б" в строке
4)В строке есть текст в скобках
а) вывести его на экран
б) удалить из строки вместе со скобками
в) создать отдельную текстовую переменную в которую записать текст из скобок

Программы нужны до 8-30 утра 12 числа(

Новенький
12.10.2007, 11:38
срок конечно малый был :) я вот только днем прочел эту темку. А сами задачки не сложные

Vedrus
13.10.2007, 08:53
Тряхнуть стариной... Может кого спасёт


Var sScob, {текст в скобках}
s: String;
i, {номер символа в строке}
countA, {количество букв "а"}
oScob, {позиция открывающей скобки}
cScob: Integer; {позиция закрывающей скобки}

Begin
{Ввести строку и подсчитать количество символов в ней}
WriteLn('Введите строку:');
ReadLn(s);
WriteLn('Число символов (включая пробелы): ', Length(s));
{В строке есть как минимум один символ "а", определить их количество}
countA := 0;
for i := 1 to Length(s) do
if s[i] = 'а' then
Inc(countA);
WriteLn('В строке ', countA, ' символов ''а''');
{--//-- символ "б", предусмотреть вывод на экран всех позиций "б" в строке}
Write('Позиции ''б'': ');
for i := 1 to Length(s) do
if s[i] = 'б' then
Write(i, ', ');
WriteLn;
{вывести текст в скобках}
oScob := pos('(', s);
cScob := pos(')', s);
if (oScob > 0) and (cScob > oScob) then
sScob := Copy(s, oScob+1, cScob-oScob-1)
else
sScob := 'Скобки заданы неверно';
WriteLn('Текст в скобках (в отдельной переменной): ', sScob);
{удалить из строки вместе со скобками}
if (oScob > 0) and (cScob > oScob) then
begin
Delete(s, oScob, cScob-oScob+1);
WriteLn('Строка без скобок: ', s)
end
End.