KMA
Долгожитель
|
gogo, ты зачем сообщения дублируешь? Думаешь никто не видит? Все прекрасно видят. Но решать тебе никто не будет. Лентяям здесь не решают.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 13 дек. 2007 14:51 | IP
|
|
KMA
Долгожитель
|
Найти в строке все слова, состоящие из трех букв, в которых первая и третья согласная буква, а вторая гласная.
Внимательно читаем задание. Найти в строке. Значит дана строка. Массива строк здесь не надо.
Code Sample:
const consonants= set of ('b', 'c', 'd', 'f, 'g', 'h', 'k', 'l', 'm', 'n', 'p', 's', 't', 'v', 'x','w', 'z'); vocalic=set of ('a', 'e', 'i', 'j', 'o', 'q', 'r', 'u', 'y'); var s: string; BEGIN write ('Enter text ->'); readLn (s); s:=s+' '; {добавляем пробел в конец} while pos(' ', s)=1 do {удаляем пробелы справа} delete(s, 1, 1); {теперь точно известно, что строка начинается не с пробела, а с символа} while length(s)>2 do begin {удаляем все слова, пока не встретиться такое слово, где 3 символа} while (pos(' ', s)<>4) and (length(s)>2) do delete (s, 1, pos(' ', s)); {теперь либо будет удалена вся строка, либо 1 символ начало 3х буквенного слова} if length(s)>=4 then begin if (s[1] in consonants) and (s[3] in consonants) and (s[2] in vocalic) then writeLn (s[1], s[2], s[3]); delete (s, 1, 4); end; end; readLn; END.
Должно получиться что-то вроде этого. У меня нет полной уверенности за BP что он правильно воспримет строчку с множествами в виде констант. Но если что, я думаю, суть понятно, заменишь. В остальном программа рабочая. (Сообщение отредактировал KMA 14 дек. 2007 22:20)
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 13 дек. 2007 15:21 | IP
|
|
Shaker
Новичок
|
Пасибо за помощь!!!
|
Всего сообщений: 3 | Присоединился: декабрь 2007 | Отправлено: 14 дек. 2007 0:05 | IP
|
|
KMA
Долгожитель
|
2)Организовать типизированный файл, содержащий сведения об адресах и телефонах сотруд-ников предприятия: ФИО, адрес (улица, дом, квартира). Напишите встроенную подпрограмму-функцию для организации безопасного ввода номеров телефонов – целое шестизначное число. Определите сколько сотрудников живет на улице Орликовой.
Поброди по этой теме, похожие задачи уже встречались, там целые выкладки даны. Тебе лишь немного переделать запись и преобразовать код.
1) С помощью текстового редактора создать файл, содержащий текст, длина кото¬рого не пре-вышает 1000 символов (длина строки текста не должна превышать 70 символов). Имя файла должно иметь расширение DAT. Написать программу, которая: -выводит текст на экран дисплея; -определяет сколько раз в тексте встречается слово «змея».
Так, слово "змея" можно определить будет с помощью функции pos. Если возникнут вопросы спрашивай, только код выложи, чтобы не с нуля все писать. Сам алгоритм чтения примерно таков: var f: text; _bufString: string[71]; j: byte; BEGIN assign (f, 'text.dat'); {связываем файл с файл. перемен.} reSet (f); {открываем для чтения} i:=1; while not eof(f) do begin readLn (f, _bufString); {считываем строчку} writeLn (_bufString); {показываем строчку на экране} i:=i+1; if i>21 then begin writeLn; writeLn; writeLn ('Для продолжения просмотра нажмите Enter'); readLn; end; end; close (f); {закроем файл} readLn; END.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 14 дек. 2007 22:33 | IP
|
|
Guest
Новичок
|
как выразить arcctg в паскале, так чтобы оно не боялось промежуточных отрицательных значений. пример: f:=-pi+arctan(sqrt(1-sqr(abs(x-a)))/abs(x-a))/arctan(abs(x-a)/sqrt(1-sqr(abs(x-a))))
|
Всего сообщений: Нет | Присоединился: Never | Отправлено: 15 дек. 2007 16:03 | IP
|
|
DeNyA
Новичок
|
помогите пожалуста решить задачу, заранее спасибо!!!! задача: слажить програму по нахождению значения функции Y=Cos(1)Cos(2)Cos(3)...Cos(n) если n=10
|
Всего сообщений: 1 | Присоединился: декабрь 2007 | Отправлено: 16 дек. 2007 13:20 | IP
|
|
AlDromS
Новичок
|
Привет всем! Нужно не решение задачи, а сам алгоритм, т.к. пишу на Си. Так вот, как найти максимальное расстояние между точками плоскости. Число точек заранее не известно. Тупой перебор, имхо, слишком извращенная идея, может есть какой математический алгоритм? Спасибо заранее!
|
Всего сообщений: 7 | Присоединился: ноябрь 2007 | Отправлено: 16 дек. 2007 13:50 | IP
|
|
KMA
Долгожитель
|
Ну во-первых, перебор это не извращенная идея, а самое простоя идея реализации, и то что он есть уже говорит, что задачу можно решить, тем более порой он является единственным. Ну а во вторых надо точно знать где рассматривать задачу. Если скажем у тебя ВСЕ точки лежат в одной из четвертей ( но только в одной из них, т. е. либо в 1, либо во второй, либо в третьей, либо в четвертой ), то задача решается 2 проходами за цикл (если постараться, то можно вообще одним) по всем точкам. Если нет, то только перебор по вполне понятным причинам. Естественно я не беру в рассмотрению задачу, когда точки лежат в противоположных четвертях (скажем в 1 и третьей). Потому что такое, как правило бывает очень редко. Если же нам заранее это не известно, то можно увеличить вычисления самой задачи. Скажем, вначале установить факт в каких четвертях лежат точки (т. е. один раз пройтись по ним), а затем уже выбрать подходящий алгоритм. Для одной или двух четвртей (при этом без разницы как расположенных) все решается за два прохода цикла по всем точкам. В любом другом случае, скорей всего придется решать перебором.
|
Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 16 дек. 2007 15:43 | IP
|
|
VERGILE
Новичок
|
Привет всем! Люди помогите решить задачу на паскале! ВОТ она: Дано натуральное число n. Выяснить можно ли представить n в виде произведения 3 последовательных натуральных чисел.
|
Всего сообщений: 11 | Присоединился: декабрь 2007 | Отправлено: 16 дек. 2007 17:38 | IP
|
|
VERGILE
Новичок
|
Спасите меня! Мне на завтра надо!
|
Всего сообщений: 11 | Присоединился: декабрь 2007 | Отправлено: 16 дек. 2007 17:48 | IP
|
|
|