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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

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

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

Выпуск № 499
от 26.11.2007, 01:05

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


Вопрос № 110220: Здравствуйте! можете мне помочь решить одну задачку? 1. Преобраховать строку таким образом, чтобы цифры каждого слова были перенесены в конец слова, и изменить порядок следования цифр в слове на обратный Заранее спасибо! Zhenya_125@mail.r...
Вопрос № 110306: Здруствуйте! помогите пожалуйста решить задачи: 1)Вычислите большие корни квадратных уравнений х^2 +ах+b=0, cy^2-dy-f=0. Все корни действительны. Значение большего корнгя вычислить при помощи процедуры-функции. 2)Вычислить z=( s1+s2 )/(k1k2),...
Вопрос № 110325: Уважаемые эксперты, помогите справиться со следующими задачками: 1. Даны две действительные квадратные матрицы порядка N. Получить новую матрицу умножением элементов каждой строки первой матрицы на наибольшое из значений элементов соответств...
Вопрос № 110329: Здравствуйте! Тут на днях знакомая слезно озадачила просьбой о помощи по информатике, а я Паскаль практически не изучал, но в ситуацию вник и попытался ей помочь, но ... где мои 17 лет... Вы ведь эксперты и если не трудно накидать ответ по 2...

Вопрос № 110.220
Здравствуйте!
можете мне помочь решить одну задачку?
1. Преобраховать строку таким образом, чтобы цифры каждого слова были перенесены в конец слова, и изменить порядок следования цифр в слове на обратный
Заранее спасибо! Zhenya_125@mail.ru
Отправлен: 20.11.2007, 01:36
Вопрос задал: Hades (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Boriss
Здравствуйте, Hades!
Вот как это можно сделать. Разделитель слов любой, который не является "обычной" буквой или цифрой (то есть, больше, чем Вы написали в письме).
ЗЫ: по-моему, минифорум вопроса - легкое место для переписки

Приложение:

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Вывод - то место в тексте, где вы устали думать

Ответ отправил: Boriss (статус: Профессор)
Россия, Саранск
Организация: mte
WWW: Программирование на Паскале
----
Ответ отправлен: 20.11.2007, 13:10


Вопрос № 110.306
Здруствуйте! помогите пожалуйста решить задачи:
1)Вычислите большие корни квадратных уравнений х^2 +ах+b=0, cy^2-dy-f=0. Все корни действительны. Значение большего корнгя вычислить при помощи процедуры-функции.
2)Вычислить z=( s1+s2 )/(k1k2), где s1 і k1 – сумма и количество положительных елементов массива x(N); s2 і k2 - сумма и количество положительных елементов массива y(М), М< 100, N< 100. Суммы и количество вычислять в процедуре.
Отправлен: 20.11.2007, 17:49
Вопрос задал: Батурин Александр Викторович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Verena
Здравствуйте, Батурин Александр Викторович!
Задачи несложные, так что особо объяснять нечего. Смотрите решение в приложении, там есть комментарии. Будут вопросы по коду - обращайтесь.
Удачи!

Приложение:

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

Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 20.11.2007, 18:28
Оценка за ответ: 5
Комментарий оценки:
большое спасибо


Вопрос № 110.325
Уважаемые эксперты, помогите справиться со следующими задачками:

1. Даны две действительные квадратные матрицы порядка N. Получить новую матрицу умножением элементов каждой строки первой матрицы на наибольшое из значений элементов соответствующей строки второй матрицы.

2. Дана действительная квадратная матрица порядка N. Преобразовать матрицу по правилу: строку с номером N сделать столбцом с номером N, а столбец сделать строкой с номером N.
Отправлен: 20.11.2007, 20:29
Вопрос задала: Lifestyle (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sergesus
!!!
Здравствуйте, Lifestyle!

вот ответ на пункт 2.

const
n=...; // сколько елементов в матрице n*n. {1. Комментарии в Pascal могут писаться либо в фигурных скобках, либо использую сочетание (* *)}
var
i,j:integer;
a:array[1..n,1..n] of string; // наша матрица {2. Почему Вы используете строковую матрицу, если в вопросе четко указано "действительная квадратная матрица"}

begin // сам алгоритм преобразования
b:=a; {3. Откуда появилась неизвестная переменная?}
for i:= 1 to n do
begin
j:=i+n-1;
a[i,j]:=a[j,i]; {4. Как это вы умудрились переопределить элементы строки и столбца используя всего один оператор?}
end;
end.

в приложении есть пример преобразования матрици размером 2*2

Ответ неверный! Такое впечатление, что ответ вообще был снят с потолка... (не проверен абсолютно)!!!
-----
∙ Отредактировал: Gh0stik (Профессор)
∙ Дата редактирования: 20.11.2007, 23:24

Приложение:

Ответ отправил: sergesus (статус: 1-ый класс)
Ответ отправлен: 20.11.2007, 21:16
Оценка за ответ: 5
Комментарий оценки:
Большое Вам спасибо за решение второй задачи))) Вы меня выручили!!! Оценка - Пять.

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

В противовес привожу верный ответ решения задачи №2.
const n=5;
var a:array [1..n, 1..n] of integer;
     i,j,v,t:integer;
begin
  t:=n; {переменная в которой определен номер столбца и строки, которые подвержены преобразованию}
  randomize;
  writeln('old');
  for i:=1 to n do {заполняем матрицу произольными данными}
  begin
   for j:=1 to n do
    begin
       a[i,j]:=random(100); write(a[i,j]:3);
    end;
    writeln;
  end;
  for i:=1 to n do {выполняем преобразования, по сути это транспонирование строки и столбца}
  begin
    v:=a[t,i];
    a[t,i]:=a[i,t];
    a[i,t]:=v;
  end;
  writeln('new');
    for i:=1 to n do {выводим измененную матрицу}
  begin
   for j:=1 to n do write(a[i,j]:3);
    writeln;
  end;
end.


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

Отвечает: Артём1983
Здравствуйте, Lifestyle!
В решении первой задачи использовал процедуры. В начале создаю две матрицы потом из второй извлекаю максимальный элемент для каждой строки. В конце умножаю каждый элемент полученого вектора на каждый элемент первой матрицы.
В решении второй задачи (транспонирование матрицы) просто переписал элементы матрицы.

Приложение:

---------
Программирование - дело Путное!

Ответ отправил: Артём1983 (статус: 6-ой класс)
Ответ отправлен: 25.11.2007, 09:44
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое за решение задач))) Будем разбираться)))


Вопрос № 110.329
Здравствуйте!

Тут на днях знакомая слезно озадачила просьбой о помощи по информатике, а я Паскаль практически не изучал, но в ситуацию вник и попытался ей помочь, но ... где мои 17 лет... Вы ведь эксперты и если не трудно накидать ответ по 2 вопросам, то помогите накидать програмку:

1. Дана матрица - Имя (С) NN

Нужно вычислить сумму и число положительных элементов, находящихся над главной диагональю, где Ci > 0 , N < 12

2. Дана матрица 10 Х 10. Найти для каждой строки число элементов кратных пяти и наибольший из полученых результатов.

Мужики! Я уверен, что у кого-то на это уйдет меньше времени, чем он все это наберет в ответе!

Заранее спасибо!

Приложение:

Отправлен: 20.11.2007, 22:09
Вопрос задал: Sergey V. Gornostaev (статус: Профессионал)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gh0stik
Здравствуйте, Sergey V. Gornostaev!

Задача 1.
const n=5;
var c:array [1..n,1..n] of integer;
    sum,kol,i,j:integer;
begin
  randomize;
  for i:=1 to n do {заполняем матрицу произвольными данными}
  begin
   for j:=1 to n do
    begin
    c[i,j]:=random(15)-4; write(c[i,j]:3); {выводим матрицу на экран}
    end;
    writeln;
  end;
  writeln;
  sum:=0; kol:=0;
  for i:=1 to n-1 do {поиск элементов соответствующих условию}
  for j:=i+1 to n do
    if c[i,j] > 0 then
       begin sum:=sum+c[i,j];inc( kol); end; {находим сумму и количество}
  writeln('sum=',sum); {выводим результаты на экран}
  writeln('kol=',kol);
end.


Задача 2.
const n=10;
var c:array [1..n,1..n] of integer;
    mx,kol,i,j:integer;
begin
  randomize;
  for i:=1 to n do {заполняем матрицу произвольными данными}
  begin
   for j:=1 to n do
    begin
    c[i,j]:=random(26); write(c[i,j]:3); {выводим матрицу на экран}
    end;
    writeln;
  end;
  writeln;
  mx:=0;
  for i:=1 to n do {организовуем поиск в цикле}< /font>
  begin
    kol:=0;
  for j:=1 to n do
    if c[i,j] mod 5=0 then inc(kol); {если число кратно 5, то "загибаем пальцы"}
    if mx < kol then mx:=kol;
    writeln('row',i,'=',kol); {выводим кoличество "отборных" элементов в текущей строке}
end;
  writeln('max=',mx); {выводим максимальный}
end.


Замечание: в первой задаче, если решать в лоб, то конечно можно вместо
for i:=1 to n-1 do {поиск элементов соответствующих условию}
for j:=i+1 to n do
if c[i,j] > 0 then


написать
for i:=1 to n do {поиск элементов соответствующих условию}
for j:=1 to n do
if (c[i,j] > 0) and (i < j) then


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

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


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

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

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

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

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


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


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

В избранное