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

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


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

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

Выпуск № 411
от 26.06.2007, 16:05

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


Вопрос № 92252: Всем доброго времени суток! Есть задача: вводится строка символов.Вывести множество символов, кот встречаются только 1 раз. Идея такая: Создать два одномерных массива. Загнать введенную строку в первый массив и дальше обращатся к его элемент...
Вопрос № 92267: Доброго дна эксперты. Имеется EXE файл -результат трансляции исходника на Паскале на пентиуме 2 под WIN 98. При его запуске на пентиуме 4 выдается ошибка runtime 200. Слышал,что есть программы, которые адаптируют подобные файлы дла работы на быст...
Вопрос № 92294: Здравствуйте!Требуется решение задачи: Ввести одномерный массив А(4).Построить по формуле массив В(4x4):B(i,j)=A(i)(умножить)A(j).С помощью п\п 2 найти сумму массивов S=B+B.С помощью п\п 1 найти минимальные элементы каждой строки массива S...
Вопрос № 92295: Здравствуйте!требуется решение задачи: Найти решение ур-я: y=(x-2)^4 - 7 c точностью 10^3 на отрезке [2,6]; пояснение: ^-степень))) Заранее большое спасибо!!!...
Вопрос № 92371: люди помогите пожалуйста с программой!!! нужно сделать через указатели. просто плохо знаком со списками... Заменить 3-ю, 4-ю и 5-ую записи на три новых записи. P.S. заранее спасибо...

Вопрос № 92.252
Всем доброго времени суток! Есть задача: вводится строка символов.Вывести множество символов, кот встречаются только 1 раз.
Идея такая:
Создать два одномерных массива. Загнать введенную строку в первый массив и дальше обращатся к его элементам по индексу, в цикле сравнивая каждый элемент по очереди со всеми остальными. Элементы, кот встретились только 1 раз поместить во второй массив, кот и вывести на экран. Помогите реализовать с языком знаком только смутно...
Отправлен: 20.06.2007, 19:47
Вопрос задал: ATZATZ (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Устинов С.Е.
Здравствуйте, ATZATZ!

Можно сделать, например, как в приложении - для каждого символа вносим ее в множество 1 если его там еще нет, или в множество 2 если он уже есть в множестве 1.
В конце перебираем все символы и смотрим - если символ входит в множество 1 и не входит в множество 2, то выводим его.

Удачи!

Приложение:

---------
Ждешь квалифицированного ответа? Задай правильно вопрос!

Ответ отправил: Устинов С.Е. (статус: Профессионал)
Украина, Славянск
Организация: SlavComp
WWW: Физико-математический факультет СГПУ
ICQ: 6755675
----
Ответ отправлен: 20.06.2007, 20:05

Отвечает: Градов Юрий Михайлович
Здравствуйте, ATZATZ!
В приложении решение Вашей задачи
Удачи!!!

Приложение:

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

Ответ отправил: Градов Юрий Михайлович (статус: Практикант)
Ответ отправлен: 20.06.2007, 20:28

Отвечает: Denisss

Здравствуйте, ATZATZ!

См. пример в приложении.
Комментарии в примере.

Массивы: m1, m2.

Если нужно массив 2 выводить отдельно, то удалите строчку write(m2[c2]); и после следующего end; впишите:

for i:= 1 to c2 do
write(m2[i]);


В конце, если во второй массив не занесено ни одного символа, то выдается результат: "Нет ни одного символа, встречающегося всего один раз."

Удачи!

Приложение:

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
WWW: Хлама много, по сути ничего...
----
Ответ отправлен: 20.06.2007, 23:59


Вопрос № 92.267
Доброго дна эксперты. Имеется EXE файл -результат трансляции исходника на Паскале на пентиуме 2 под WIN 98. При его запуске на пентиуме 4 выдается ошибка runtime 200. Слышал,что есть программы,
которые адаптируют подобные файлы дла работы на быстрых машинах.
Отправлен: 20.06.2007, 22:07
Вопрос задал: Votik (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Градов Юрий Михайлович
Здравствуйте, Votik!
Попробуйте Пуск>Все программы>Стандартные>Мастер совместимости программ
Пальцем в небо! При чем тут совместимость? Это ошибка CRT-модуля в Turbo Pascal. Эксперт sir henry
---------
Глаза боятся - руки делают!
Ответ отправил: Градов Юрий Михайлович (статус: Практикант)
Ответ отправлен: 20.06.2007, 22:47

Отвечает: sir henry
Здравствуйте, Votik!
Загляните сюда, там есть рекоммендация, как исправить эту ошибку:
http://pascal.sources.ru/faq/err200.htm
Но будет намного лучше, если Вы найдете исходник программы и перекомпилируете его современным компилятором, например FreePascal'ем (http://www.freepascal.org/), т.к. это избавит программу от других, менее очевидных ошибок.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 21.06.2007, 10:55


Вопрос № 92.294
Здравствуйте!Требуется решение задачи:
Ввести одномерный массив А(4).Построить по формуле массив
В(4x4):B(i,j)=A(i)(умножить)A(j).С помощью п\п 2 найти сумму массивов S=B+B.С помощью п\п 1 найти минимальные элементы каждой строки массива S.
п\п1-подпрограмма ищущая мин.значения массива.
п\п 2-подпрограмма складывающая двумерные массивы 4x4.
Заранее огромное спасибо!!!
Отправлен: 21.06.2007, 01:31
Вопрос задал: Dimas328 (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Gh0stik
Здравствуйте, Dimas328!

Вот код с комментариями:

const n=4;
type arr=array [1..n,1..n] of integer;

function pp1(x:arr; ns:integer):integer; {подпрограмма ищущая мин.значения строки массива}
var mn,k:integer;
begin
mn:=x[ns,1];
for k:=2 to n do if mn > x[ns,k] then mn:=x[ns,k];
pp1:=mn;
end;

procedure pp2(x,y:arr;var r:arr); {подпрограмма складывающая двумерные массивы 4x4.}
var q,w:integer;
begin
for q:=1 to n do for w:=1 to n do
r[q,w]:=x[q,w]+y[q,w];
end;

var a:array [1..n] of integer;
b,s:arr;
i,j:integer;
begin
randomize;
for i:=1 to n do
begin a[i]:=random(15)-5;write(a[i]:3);end; {генерируем произвольным образом элементы массива А и выводим их на экран, при необходимости просто замените этот блок на ручной ввод}
writeln;writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin b[i,j]:=a[i]*a[j]; write(b[i,j]:4);end; {строим массив В по формуле: B(i,j)=A(i)*A(j)}
writeln;
end;
for i:=1 to n do writeln(pp1(b,i)); {находим и выводим на экран минимальные элементы каждой строки массива В}

pp2(b,b,s); {найдем сумму массивов S=B+B}
for i:=1 to n do
begin
for j:=1 to n do write(s[i,j]:4); {выводим на экран результат суммы}
writeln;
end;
end.


Чтобы найти минимальные элементы строк S, достаточно добавить такие операторы:
for i:=1 to n do writeln(pp1(s,i));


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 21.06.2007, 01:55
Оценка за ответ: 5
Комментарий оценки:
моя признательность не знает границ)5 баллов!!!))

Отвечает: Градов Юрий Михайлович
Здравствуйте, Dimas328!
Получайте решение и пользуйтесь.
Удачи!!!

Приложение:

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

Ответ отправил: Градов Юрий Михайлович (статус: Практикант)
Ответ отправлен: 21.06.2007, 01:56
Оценка за ответ: 5
Комментарий оценки:
Спасибо за 2ой ответ,вроде все понятные,спасибо большое!)


Вопрос № 92.295
Здравствуйте!требуется решение задачи:
Найти решение ур-я:
y=(x-2)^4 - 7
c точностью 10^3
на отрезке [2,6];
пояснение:
^-степень)))
Заранее большое спасибо!!!
Отправлен: 21.06.2007, 01:35
Вопрос задал: Dimas328 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Dimas328!

Воспользуемся методом дихотомии (половинного деления):

program dihotomiya;
var a,b,x,eps:real;

function f(x:real):real;
begin
f:=sqr(sqr(x-2))-7; {описание самой функции (уравнения)}
end;

begin
a:=2; b:=6; eps:=0.001; {входные параметры, при желании можно ввести с клавиатуры}
write('e=');
while abs(f(a)) > eps do
begin
x:=(a+b)/2;
if f(x)*f(b) < 0
then a:=x
else b:=x;
end;
writeln('x=',a:5:4);
end.


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 21.06.2007, 02:08
Оценка за ответ: 5
Комментарий оценки:
млин,сложно чего то)курсовая и того проще)))все равно спасибо,буду разбираться)


Вопрос № 92.371
люди помогите пожалуйста с программой!!! нужно сделать через указатели. просто плохо знаком со списками...

Заменить 3-ю, 4-ю и 5-ую записи на три новых записи.

P.S. заранее спасибо
Отправлен: 21.06.2007, 15:24
Вопрос задал: Мусаев Руслан Ризванович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Omickron
Здравствуйте, Мусаев Руслан Ризванович!

Для доступа к третьей записи, нужно просмотреть сначала две предыдущие.
Затем изменить третью, перейти к 4й, изменить 4ю, ну и так далее.
см. приложение.

Приложение:

Ответ отправил: Omickron (статус: 2-ой класс)
Ответ отправлен: 21.06.2007, 15:45
Оценка за ответ: 2
Комментарий оценки:
она ни фига не работает :-(

Отвечает: Louken
Здравствуйте, Мусаев Руслан Ризванович!

Код в приложении.
В программе определены две процедуры и одна функция:

NewZap - создает новую запись, помещает в нее числовое значение и возращает указатели на первый и последний элементы списка, в программе указатель на последний элемент списка нигде не используется, но может быть Вам он потребуется.

Print - распечатывает список, в эту процедуру надо просто передать указатель на первый элемент списка.

GetNumZap - функция возращает указатель на элемент списка, с номером num.

Изучайте и разбирайтесь, пример я Вам дал.
Удачи.

Приложение:

Ответ отправил: Louken (статус: 8-ой класс)
Ответ отправлен: 21.06.2007, 17:57
Оценка за ответ: 5
Комментарий оценки:
спасибо большое! всё работает без ошибок, только пришлось добавить в конце еще кода для того чтобы менять 5-ый элемент, или может вы это специально оставили для того, чтобы я понял смысл работы программы...вобщем спасибо!!!!


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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

В избранное