Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 249
от 13.11.2006, 01:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 216, Экспертов: 48
В номере:Вопросов: 3, Ответов: 5


Вопрос № 61535: Здравствуйте, много уважаемые експерты, помогите незнайке решить школьную задачку: В файле Z1.dat сушествует строка длиной не больше 255 знаков, в каком через один или несколько пропусков идут слова. Найти все групы анаграм (Анаграма - ...
Вопрос № 61605: Здраствуйте. Я почти незнаю паскаль, вы не могли бы помочь мне составить простую программку на нем, я буду вам очень благодарен. Составить программу поиска большего из четырех чисел с использованием подпрограммы поиска большего из двух. Как ...
Вопрос № 61649: Доброго времени суток уважаемые эксперты. Нужно изобразить развевающийся на ветру флаг РФ.Может кто-нибудь подкинет инфы как это сделать или хотябы информацию на решение задачь похожего типа....

Вопрос № 61.535
Здравствуйте, много уважаемые експерты, помогите незнайке решить школьную задачку:
В файле Z1.dat сушествует строка длиной не больше 255 знаков,
в каком через один или несколько пропусков идут слова.
Найти все групы анаграм (Анаграма - это слово,
которое создаётся с другого слова перестановкой его букв)
в этой строке и вывести в файл Z1.sol каждую групу с новой строки.
Все слова должны йти через пропуск в строке, в какой они встречаются.
Одинаковые слова выводить нельзя.

Пример:
Z1.dat
123 321 1234 12345 123456 231 132 3241 123457 123

Z1.sol
123 321 231 132
1234 3241
Отправлен: 07.11.2006, 00:58
Вопрос задал: Polonne (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Томша Павел
Здравствуйте, Polonne!
Считываете информацию в строку. Создаете массив, в который записываете хэш-коды слов (сумма всех ASCII кодов одного слова) и кол-во повторений этого кода. Потом пробегаете опять по этой строке еще раз и выводите те элементы, у которых повторяются хэш-коды. В большинстве случаев это будет работать, но это может и не работать....
Ответ отправил: Томша Павел (статус: 3-ий класс)
Ответ отправлен: 07.11.2006, 07:24
Оценка за ответ: 3
Комментарий оценки:
спасибо за ответ, но эти коды я уж очень не люблбю если бы без них и с текстом программы...

Отвечает: Verena
Здравствуйте, Polonne!
Код ниже. Функция проверяет на анаграммность два слова. Строка считывается в переменную str. Слова записываются в массив s. Ввод из файла fv, вывод в fvv.

И без ASCII кодов! ;))

Приложение:

---------
Эта история - не для истории, понимаешь?

Ответ отправила: Verena (статус: 2-ой класс)
Ответ отправлен: 07.11.2006, 18:24
Оценка за ответ: 4
Комментарий оценки:
спасибо за ответ, но программа почемуто не выводит результат


Вопрос № 61.605
Здраствуйте. Я почти незнаю паскаль, вы не могли бы помочь мне составить простую программку на нем, я буду вам очень благодарен.
Составить программу поиска большего из четырех чисел с использованием подпрограммы поиска большего из двух.
Как я понимаю там должна быть сама программа и модуль к ней. Вот только как это написать я незнаю, помогите плиз. Заранее спасибо.
Отправлен: 07.11.2006, 13:38
Вопрос задал: Никитин Андрей Валерьевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: sir henry
Здравствуйте, Никитин Андрей Валерьевич!
Ну дополнительный модуль тут совершенно не нужен. Программа будет состоять из собственно программы и процедуры поиска большего из двух в ней же.
Program MyProg;
Var
ar: array[0..3] of integer; {Здесь хранятся числа}
i, resultat: integer;

Function Max(i1, i2: integer): integer; {Возвращает наибольшее из двух заданных целых чисел}
Begin
If i1>i2 Then
Max:=i1
Else
Max:=i2;
End;

Begin
{Вводим числа}
WriteLn('Введите по очереди 4 целых числа и нажимайте после каждого ENTER');
For i:=0 To 3 Do
ReadLn(ar[i]);
{Теперь определяем наибольшее из четырех чисел}
For i:=0 To 2 Do
Resultat:=Max(ar[i], ar[i+1]);
WriteLn('Наибольшее из 4-ех чисел: ', Resultat);
End.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 07.11.2006, 14:42

Отвечает: Gh0stik
Здравствуйте, Никитин Андрей Валерьевич!

Вот после долгих вытягиванияй из Вас нужной формулировки вопроса решил ответить:

Листинг программы.

program primer;
uses poisk;
var a,b,c,d,rez:integer;
begin
writeln('Input data:');
write('a=');readln(a);
write('b=');readln(b);
write('c=');readln(c);
write('d=');readln(d);
rez:=pmax(pmax(a,b),pmax(c,d));
write('Result=',rez);
end.


Листинг модуля, который используется....

unit poisk;
interface
function pmax(x,y:integer):integer;
implementation

function pmax(x,y:integer):integer;
begin
if x>y then pmax:=x else pmax:=y;
end;

end.


Только не забывайте, что сперва необходимо откомпилировать сам модуль, а затем уже запускать программу на исполнение...

И еще одно уточнение, расположите программу и модуль в одном каталоге... (или модуль в каталог который у вас является каталогом для хранения модулей - посмотрите в настройках компилятора).

Удачи!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 07.11.2006, 16:29
Оценка за ответ: 5


Вопрос № 61.649
Доброго времени суток уважаемые эксперты. Нужно изобразить развевающийся на ветру флаг РФ.Может кто-нибудь подкинет инфы как это сделать или хотябы информацию на решение задачь похожего типа.
Отправлен: 07.11.2006, 17:02
Вопрос задал: Respect (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: dianacode
Доброе время суток

поуглила ) нашла варианты :

триде_туториал (пригодится в реализации чего своего повеселее) http://ishodniki.ru/list/info.php?cat=11&id=3796&show=pascal-graph

фариант флага http://ishodniki.ru/list/info.php?id=3336&PHPSESSID=14b6a6596cbd61b0c54f0398b96065e4

с уважением, удачи
---------
There is more than one way to do it
Ответ отправила: dianacode (статус: 9-ый класс)
Ответ отправлен: 07.11.2006, 18:23


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное