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

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


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

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

Выпуск № 393
от 08.06.2007, 07:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 254, Экспертов: 61
В номере:Вопросов: 4, Ответов: 8


Вопрос № 89708: Помогите пожалуста с задачей, в ней нужно ввести с клавиатуры 2 матрицы (a и b), и в ответе чтоб были матрицы (C,P,PP и след матрицы PP(r)) C=a*b P=b*a PP=ab-ba r-след матр. PP у меня почему-то С=P всегда получается, а следовательн...
Вопрос № 89716: Здраствуйте. Условие: Пусть дан текст найти наибольшее количество цифр идуших подряд.Текст вводится с клавиатуры. Заранее спасибо....
Вопрос № 89749: Здраствуйте, помогите пожалуйста решить задачу: "В заданном предложении найти пару слов, из которых одно является отражением другого." например: роза - азор, анна - анна и т.д. заранее благодарен....
Вопрос № 89772: Доброго Вам времени суток! Помогите, пожалуста найти ошибки в моей программе. Условие задачи: С клавиатуры вводится исходн. список студентов, содержащий след.информацию: Фамилия, имя, отчество, год и мес. рождения, дом. адрес, изучаемый ин. язык. Тре...

Вопрос № 89.708
Помогите пожалуста с задачей, в ней нужно ввести с клавиатуры 2 матрицы (a и b), и в ответе чтоб были матрицы (C,P,PP и след матрицы PP(r))

C=a*b P=b*a PP=ab-ba r-след матр. PP

у меня почему-то С=P всегда получается, а следовательно и PP считается неверно, код программы в приложении...

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

Приложение:

Отправлен: 02.06.2007, 12:48
Вопрос задал: Сватко Алексей Михайлович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Verena
Здравствуйте, Сватко Алексей Михайлович!

Ваше решение практически верное, Вы только немного напутали с индексами во втором случае - я выделила место изменения, так работает правильно.

for i:=1 to n do
for j:=1 to n do begin
g:=0;
for w:=1 to n do
g:=g+B[i,w]*A[w,j] ;
P[i,j]:=g;
g:=0;
end;
---------
Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 02.06.2007, 22:32


Вопрос № 89.716
Здраствуйте. Условие: Пусть дан текст найти наибольшее количество цифр идуших подряд.Текст вводится с клавиатуры. Заранее спасибо.
Отправлен: 02.06.2007, 14:31
Вопрос задал: Иванов Максим Андреевич (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ерёмин Андрей
Здравствуйте, Иванов Максим Андреевич!
Пример в приложении.

Приложение:

---------
Нет правила без исключений. Правило без исключений - исключение из правил.

Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI
----
Ответ отправлен: 02.06.2007, 15:01

Отвечает: Устинов С.Е.
Здравствуйте, Иванов Максим Андреевич!

Решить можно, например, так:

var i,max,t:integer;
st:string;
begin
writeln('Vvedite stroku:');
readln(st);
max:=0; i:=0;
for t:=1 to length(st) do
if st[t] in ['0'..'9'] then inc(i)
else
begin
if max < i then max:=i;
i:=0;
end;
if max < i then max:=i;
writeln(max);
readln;
end.


Удачи!
---------
Ждешь квалифицированного ответа? Задай правильно вопрос!
Ответ отправил: Устинов С.Е. (статус: Специалист)
Ответ отправлен: 02.06.2007, 15:03

Отвечает: Зенченко Константин Николаевич
Здравствуйте, Иванов Максим Андреевич!

Как вариант.
Максимальное число в цепочке цифр считается на лету во время ввода строки.
Длина строки неограничена.
Удачи!

Приложение:

---------
И только наступив на грабли мы преобретаем драгоценный опыт!

Ответ отправил: Зенченко Константин Николаевич (статус: Студент)
Ответ отправлен: 02.06.2007, 15:39

Отвечает: Градов Юрий Михайлович
Здравствуйте, Иванов Максим Андреевич!
Думаю, что так.
С ув. Ю.Михалыч

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 02.06.2007, 16:08

Отвечает: Вологин Всеволод Вячеславович
Здравствуйте, Иванов Максим Андреевич!

Program Figure;
Uses Crt;
Const
Cif = ['0'..'9'];
Var
st : String;
I,j,Max,count : Integer;
Begin
Clrscr;
Write('Введите строку --> ');
ReadLn(St);
Max := 0;
Count := 0;
For i:=1 to length(st) do
Begin
if St[i] in cif
Then
Begin
j:=i;
Count :=0;
While St[j] in cif do
Begin
inc(j);
Inc(Count);
End;
if Max < Count
Then
Max := count;
End;
End;
Write('Результат --> ',max);
ReadKey;
End.


---------
Это круто - машина состояний с бесконечным циклом
Ответ отправил: Вологин Всеволод Вячеславович (статус: 2-ой класс)
Ответ отправлен: 04.06.2007, 06:47


Вопрос № 89.749
Здраствуйте, помогите пожалуйста решить задачу:
"В заданном предложении найти пару слов, из которых одно является отражением другого."
например: роза - азор, анна - анна и т.д.
заранее благодарен.
Отправлен: 02.06.2007, 18:46
Вопрос задал: Степановский Антон (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Градов Юрий Михайлович
Здравствуйте, Степановский Антон!
Задача в приложении.

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 02.06.2007, 19:45


Вопрос № 89.772
Доброго Вам времени суток! Помогите, пожалуста найти ошибки в моей программе. Условие задачи: С клавиатуры вводится исходн. список студентов, содержащий след.информацию: Фамилия, имя, отчество, год и мес. рождения, дом. адрес, изучаемый ин. язык. Требуется сформировать два списка групп с количеством студентов не более 10 в каждой. При этом, кол-во студентов, изучающих разные ин.языки( англ. и нем.) должно быть примерно одинаково в каждой группе. Кроме того, список каждой группы должен быть упорядочен по алфавиту. Вывод данных - в типизированный файл.
По моему разумению, задача сводится к следующему алгоритму: исходный список сначала упорядочивается по ин.языку с подсчетом кол-ва студентов всего в исх.списке. Затем формируем два списка путем удаления из упорядоченного по ин.языкам: 1) середины списка начиная примерно со "второй" половины студентов, с англ.яз и следующей за ней "первой" половины с нем.языком; 2) наоборот, сначала удаляем из головы списка "половину" с англ.языком, а затем из хвоста списка вторую половину с нем. языком".
Однако практическая реализация этого алгоритма мне не очень удалась. Кроме того, при работе со списками, мне не удается воспользоваться процедурами, т.к. я не допонимаю, как результаты работы этих процедур вернуть в основную программу.Это относится и к процедурам удаления части строк списка(у меня их три: из начала списка, из середины, и с конца) и к процедуре упорядочения списка. Я попыталась сделать единую процедуру для упорядочения независимо от поля записи, чтобы использовать в зависимости от нужды(или по языку, или по фамилии). Но подключить ее к программе не смогла. Причем странно, если я просто вписываю алгоритм упорядочивания по конкретному полю без процедуры, то он работает, а в виде процедуры - нет. И еще в моей программе есть одна странность: при вводе даты рождения программа виснет, а без ввода даты - нет.В приложении привожу текст моей программы, которая работает лишь на половину. Буду весьма признательна за помощь, а то очень поджимают сроки.

Приложение:

Отправлен: 02.06.2007, 22:01
Вопрос задала: Ga1ina (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 11)

Отвечает: Градов Юрий Михайлович
Здравствуйте, Ga1ina!
Я бы не заморачивался с указателями, а раскидывал бы студентов по спискам в процессе ввода информации

type
TStud = record {тип записи о студенте}
Fam: string[20]; {фамилия}
Name: string[20];{имя}
....
Info: string; {переменная с произвольными данными о студенте}
end;

var StudEng: array[1..10] of TStud;
StudGrm: array[1..10] of TStud;
StTmp: array[1..1] of TStud;
CountEng, CountGrm: integer;

Информацию вводим StTmp и если англ. заносим в 1-й список, немецкий во 2-й. Увеличивая счетчик CountEng или CountGrm. Затем обычная сортировка "Пузырьковым методом" обоих списков и вывод на экран.
---------
Глаза боятся - руки делают!
Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 03.06.2007, 00:50


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное