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

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


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

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

Выпуск № 429
от 24.07.2007, 12:05

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


Вопрос № 95660: Уважаемые эксперты! Помогите, пожалуйста, решить три задачи. 1. Дан двумерный массив. Выполнить сдвиг элементов по внешнему квадрату. Например: 1 1 1 1 1 2 4 0 0 0 0 2 4 0 0 0 0 2 4 0 0 0 0 2 4 3 3 3 3 3 Результат: <b...

Вопрос № 95.660
Уважаемые эксперты! Помогите, пожалуйста, решить три задачи.
1. Дан двумерный массив. Выполнить сдвиг элементов по внешнему квадрату.
Например: 1 1 1 1 1 2
4 0 0 0 0 2
4 0 0 0 0 2
4 0 0 0 0 2
4 3 3 3 3 3
Результат:
4 4 4 4 4 1
3 0 0 0 0 1
3 0 0 0 0 1
3 0 0 0 0 1
3 2 2 2 2 2

2. Дан двумерный массив. Начиная с первой строки сдвинуть на две вниз, а последние две перенести на место первых двух строк.
3. Дан двумерный массив. Выполнить слудующие преобразования с ним:
А) в каждой строке сменить знак максимального по модулю элемента на противоположный.
Б) последний отрицательный элемент каждого столбца заменить нулём.
В) положительные элементы умножить на первый элемент соответствующей строки, а отрицательные - на последний
Г) Заменить все элементы строки с номером k и столбца с номером l на противоположные по знаку
Д) К элементам столбца с номером k1 прибавить элементы столбца k2
Если это возможно, то в наиболее упрощённом варианте и с пояснениями. Заранее огромное спасибо. Swallow.
Отправлен: 19.07.2007, 11:42
Вопрос задала: Ласточка (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

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

Вот решение задачи №2.
const n=5; nn=4;
type tip=integer;
var a:array [1..n,1..nn] of tip;
b:array[1..nn] of tip;
i,j,t:integer;
begin
randomize;
for i:=1 to n do
begin
for j:=1 to nn do
begin
a[i,j]:=random(10)-random(10); {блок формирования матрицы случайных чисел, Вы можете его заменить ручным вводом данных}
write(a[i,j]:3); {выводим элементы массива на экран}
end;
writeln;
end;

for t:=1 to 2 do {блок сдвига строк матрицы, число 2 - количество строк на которое нужно сдвинуть строки}
begin
for j:=1 to nn do b[j]:=a[n,j]; {сохраняем элементы последней строки во вспомогательном массиве}
for i:=n downto 2 do
for j:=1 to nn do a[i,j]:=a[i-1,j]; {делаем циклический сдвиг строк начиная с последней}
for j:=1 to nn do a[1,j]:=b[j]; {записываем значение вспомогательного массива в первую строку}
end;

writeln; {выводим полученный результат}
for i:=1 to n do
begin
for j:=1 to nn do write(a[i,j]:3);
writeln;
end;
readln;
end.


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

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

В приложении 1-я задача.
В задании ошибка куда делись 1 и 3,
и откуда взялись 2 и 4.
Удачи!

Приложение:

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

Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 19.07.2007, 13:50
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо за ответ, Константин Николаевич! Мне очень важно было узнать как решается эта задача. Вы мне очень помогли.

Отвечает: Coupler
Здравствуйте, Ласточка!
Решение задачи 3 в приложении. Действия А - Д сделаны в виде процедур.

Приложение:

Ответ отправил: Coupler (статус: Практикант)
Ответ отправлен: 19.07.2007, 15:16
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо за ответ, Coupler! Вы мне очень помогли!


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное