• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите решить задачи на Pascal

  • Автор темы Автор темы Mystyc
  • Дата начала Дата начала

Mystyc

Новые
Регистрация
19 Июн 2008
Сообщения
9
Реакции
0
Баллы
0
помогите пожалуйста решить задачи
1.В текстовом файле input.txt записан русский текст. Найти в тексте слова, начинающиеся и оканчивающиеся теми же буквами, что и последнее слово текста, записать их заглавными буквами и указать после каждого такого слова в скобках порядковый номер найденного слова. Полученный текст записать в файл output.txt. Весь текст, кроме найденных слов, должен остаться неизменным, включая и знаки препинания.
2.Дан файл, содержащий русский текст. Найти в тексте N<=2000 слов, содержащих наименьшее количество гласных. Записать найденные слова в текстовый файл в порядке неубывания количества гласных. Для каждого слова вывести также это количество. Все найденные слова должны быть разными!
 
1.В текстовом файле input.txt записан русский текст. Найти в тексте слова, начинающиеся и оканчивающиеся теми же буквами, что и последнее слово текста, записать их заглавными буквами и указать после каждого такого слова в скобках порядковый номер найденного слова. Полученный текст записать в файл output.txt. Весь текст, кроме найденных слов, должен остаться неизменным, включая и знаки препинания.


Program P1;

Const
Name1 = ‘c:\...адресс папки…\input.txt’;
Name2 = ‘c:\...адресс папки…\output.txt’;
N = 5000;
rusB :set of char = [‘А’,’Б’,’В’,’Г’,’Д’,’Е’,’Ё’,’Ж’,’З’,’И’,’К’,’Л’,’М’,’Н’,’О’,’П’,’Р’,’С’,’Т’,’У’,’Ф’,’Ц’,’Ч’,’Щ’,’Ш’,’Ь’,’Ы’,’Ъ’,’Э’,’Ю’,’Я’];
russ : set of char = [‘а’,’б’,’в’,’г’,’д’,’е’,’ё’,’ж’,’з’,’и’,’к’,’л’,’м’,’н’,’о’,’п’,’р’,’с’,’т’,’у’,’ф’,’ц’,’ч’,’щ’,’ш’,’ь’,’ы’,’ъ’,’э’,’ю’,’я’];

Var
Rusin,rusout:text;
M:array [1..N] of char;
I,k,j,l:integer;
Nom,simv:string;

Function UpCaseAll(Ch: Char): Char;
{Преобразует латинскую или русскую букву Ch к заглавной}
begin
case Ch of
'a'..'z': UpCase := Chr(ord('A')+ord(Ch)-ord('a'));
'a'..'n': UpCase := Chr(ord('A')+ord(Ch)-ord('a'));
'p'..'я': UpCase := Chr(ord('P')+ord(Ch)-ord('p'));
else
UpCase:= Ch
end
end;



Begin

Assign(rusin,name1);
Assign(rusout,name2);

{$I-} {Отключаем контроль ошибок ввода-вывода}
reset(rusin);
{$I+} {Включаем контроль ошибок ввода-вывода}
if IOResult <> 0 then
writeln(‘Ошибка, файла не существует’);
else
while not EOF(rusin) and (i <= N) do
begin
read(rusin ,m ) ; {Записали все символы из файла инпут в массив М}
inc(i)
end;
close(rusin);
for j:= I DOWN TO 1 DO
IF and (((m[j+1] in rusB)) or ((m[j+1] in russ))) then begin
simv:=m[i-1]; break; end; {запомнили последнюю букву}

for j:=1 to to I-1 do
if ((not(m[j] in rusB)) or (not(m[j] in russ))) and (((m[j+1] in rusB)) or ((m[j+1] in russ))) then
begin
k:=k+1;
if m[j+1] = simv then { преобразуем буквы в заглавные}
begin
for l:=j+1 to I-1 do
begin
if ((not(m[l] in rusB)) or (not(m[l] in russ))) then
begin
str(k,nom);
for q:=i+length(nom) downto l do
m[q]:=m[q-length(nom)];
for q:=l to l+lentg(mon)-1 do
m[q]:=nom[l-q+1];
I:=I+length(nom);
break; end;
m[l]:=upCaseAll(m);
end;
end;


rewrite(rusout);
for j:=2 to I do {записываем все обратно без первого пробела}
write(rusout,m);
close(rusout);

end.
 
Значит так
Писалось все в ворде - следовательно мог где то напутать синтаксис
Я не очень хорошо помню конкретно эту тему так что могут гдето быть мелкие ошибки - НО они все легко находяться и исправляють при кампилировании

Со вторым задание придеться подождать так как щас надо всетаки поработать
 
Function UpCaseAll(Ch: Char): Char;
{Преобразует латинскую или русскую букву Ch к заглавной}
begin
case Ch of
'a'..'z': UpCase := Chr(ord('A')+ord(Ch)-ord('a'));
'a'..'n': UpCase := Chr(ord('A')+ord(Ch)-ord('a'));
'p'..'я': UpCase := Chr(ord('P')+ord(Ch)-ord('p'));
else
UpCase:= Ch
end
end;
отказывается работать что я с ней уже не делала
 
где ошибку выбивает?
вставете перед фунцией эту строку:

{$Х+} {Включаем расширенный синтаксис}


а в конце функции
{$Х-}
 
теперь он выделяет {$X+} и пишет invalid compiler directiv
 
а еще выделяет 'a'..'ï': UpCaseAll := Chr(ord('À')+ord(Ch)-ord('à')); и пишет duplicate case lable
 
теперь он не выделяет {$X}но про duplicate case lable все равно пишет
 
какая версия паскаля? (попробуй убрать {$Х-})

вот еще раз функция
Function UpCase(Ch: Char): Char;

{Преобразует латинскую или русскую букву Ch к заглавной}

begin

case Ch of

'a'..'z': UpCase := Chr(ord('A')+ord(Ch)-ord('a'));

'a'..'n': UpCase := Chr(ord('A')+ord(Ch)-ord('a'));

'p'..'я': UpCase := Chr(ord('P')+ord(Ch)-ord('p'));

else

UpCase:= Ch

end

end;
 
оооо, теперь он пишет
variable "l" mignt have not been inicialized и про k тоже самое
 
это уже в программе?
ну пропише их в вар
я же говорил что не проверял на синтаксис и мог забыть что гдето прописать

а что мне будет за это? :) :) :)
 
я их куда уже только не писала, есть они у меня в Var!!!!проси все что хочешь!!!
 
Mystyc написал(а):
проси все что хочешь!!!
знаю я вас, вон мне пиво обещали, уже месяц несут :))


Mystyc написал(а):
я их куда уже только не писала, есть они у меня в Var!!!!
какой там срок сдачи лабы? надеюсь не эта суббота? сегодня я уже не буду за это садиться, а завтра мог бы посмотреть
 
ну вообще до понедельника желательно(((я бы принесла. только как тебя найти?
 
Mystyc написал(а):
ну вообще до понедельника желательно(((я бы принесла. только как тебя найти?
значит завтра доделаю

найти в москве
вот номер аськи
452()564()862
стукнись в нее
я завтра появлюсь и доделаем задачи
заодно договоримся о пиве)))

не будем засорят флудом топик, а решенные задачи потом я выложу
 
ты задачи-то выложишь?
 
как подрубить адаптер питания на 12V

всем привет!!!! - все мы знаем, что блок питания компа подрубается к сети 220 Вольт, и выдает по железам разные вольты и амперы, кому 12В, кому по 3В, по 5В... но у меня такая ситуация, что блок питания надо подрубить к 12Вольт... но чтобы выдавало такие же вольты на железо... помогите пожалуйста!!!...

один вариант есть... но это так надо повозиться, что у меня кажется крыша слетит...

если есть у кого ещё варианты, помогите.... буду благодарен!!!,...
 
всем привет!!!! - все мы знаем, что блок питания компа подрубается к сети 220 Вольт, и выдает по железам разные вольты и амперы, кому 12В, кому по 3В, по 5В... но у меня такая ситуация, что блок питания надо подрубить к 12Вольт... но чтобы выдавало такие же вольты на железо... помогите пожалуйста!!!...

один вариант есть... но это так надо повозиться, что у меня кажется крыша слетит...

если есть у кого ещё варианты, помогите.... буду благодарен!!!,...
Да мне бы такие проблемы, всё очень просто, в магазинах продаются инверторы, которые и преобразуют 12 в 220вольт. Правда цена качественного мощного около 2 тысяч рублей.
 
Комп будет стоять в машине подойдет ли на генератор?...

---------- Добавлено в 09:09 ---------- Предыдущее сообщение было написано в 09:07 ----------

Да мне бы такие проблемы, всё очень просто, в магазинах продаются инверторы, которые и преобразуют 12 в 220вольт. Правда цена качественного мощного около 2 тысяч рублей.
220 вольт в машине, не опасно ли?... конце-концов сгорю же....
 
Назад
Сверху