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

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


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

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

Чемпионы рейтинга экспертов в этой рассылке

_Ayl_
Статус: Студент
Рейтинг: 1418
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 1171
∙ повысить рейтинг »
Micren
Статус: Бакалавр
Рейтинг: 1088
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Pascal (Паскаль)

Номер выпуска:976
Дата выхода:26.11.2009, 04:00
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:358 / 187
Вопросов / ответов:1 / 2

Вопрос № 174394: С помощью двумерного массива. Дана прямоугольная матрца . Вывести эту матрицу на экран.и чтоб она была помещена в прямоугольник. Вот так: FileSize: 42KB Link: http://ft.fay.by/get3.php?id=200911201829296e3051 FileType: JPG 2...



Вопрос № 174394:

С помощью двумерного массива.
Дана прямоугольная матрца . Вывести эту матрицу на экран.и чтоб она была помещена в прямоугольник.
Вот так:

FileSize: 42KB
Link: http://ft.fay.by/get3.php?id=200911201829296e3051
FileType: JPG

2 задача:
Сформировать матрицу,каждый элемент который вычисляется по формуле : (i+0,5)*(j+sin(j)). Найти минимальный элемент и поменять его местами с первым эл матрицы

Отправлен: 20.11.2009, 21:01
Вопрос задал: Капитан Прайс, Посетитель
Всего ответов: 2
Страница вопроса »


Отвечает v-vik, 1-й класс :
Здравствуйте, Капитан Прайс!

1)
uses crt;

const
N = 3;
M = 4;


var i,j:integer;
mtx:array[1..N,1..M] of integer;

Begin

mtx[1,1]:=8;mtx[1,2]:=9;mtx[1,3]:=4;mtx[1,4]:=3;
mtx[2,1]:=5;mtx[2,2]:=9;mtx[2,3]:=4;mtx[2,4]:=8;
mtx[3,1]:=1;mtx[3,2]:=0;mtx[3,3]:=3;mtx[3,4]:=9;;

TextBackGround(red);

for i:=1 to N do
begin
for j:=1 to M do
Write(' ',mtx[i,j],' ');

Writeln;
end;


Read;
End.

2)
const
N = 4; //количество строк матрицы
M = 5; //количество столбцов матрицы

type
Vector = array[1..2] of integer;
Matrix = array[2..N,2..M] of real;

var mtx:Matrix; //матрица элементов
idx:Vector; //индексы минимального элемента
i,j:integer; //счетчики
tmp:real; //вс помогательная переменная

procedure show_matrix(mtx_arg:Matrix); //вывод матрицы на экран
var i,j:integer;
begin
WriteLn;
for i:=2 to N do
begin
for j:=2 to M do
Write(mtx_arg[i,j]:1:3,' ');
WriteLn;
end;
WriteLn;
WriteLn;
end;

function get_min(mtx_arg:Matrix):Vector; //ф-ция возвращает индексы минимальногго элемента
var min_i,min_j:integer;
begin
min_i:=2;
min_j:=2;
for i:=2 to N do
for j:=2 to M do
if mtx_arg[min_i,min_j]>mtx_arg[i,j] then
begin
min_i:=i;
min_j:=j;
end;

Result[1]:=min_i;
Result[2]:=min_j;
end;

Begin
for i:=2 to N do //задание...
for j:=2 to M do //элементов...
mtx[i,j]:=(i+0.5)*(j+1/sin(j));//матрицы.

show_matrix(mtx); //вывод на экран исходной матрицы

idx:=get_min(mtx);
tmp:=mtx[2,2];
mtx[2,2]:=mtx[idx[ 1],idx[2]];
mtx[idx[1],idx[2]]:=tmp;

show_matrix(mtx);//вывод получившейся матрицы

Read;
End.

Замечание: если индексация массива начинается с единицы, то минимальный элемент всегда будет совпадать с первым элементом матрицы. В таком случае нет смысла искать минимальный элемент и переставлять его местами с первым... Поэтому, чтобы алгоритм нахождение минимального элемента и замены его местами с первым, имел смысл, зададим индексы 2-х мерного массива начиная, например, с 2-х (в первые вижу чтобы способ задания массива в паскале оказался хоть как-то полезным).

Ответ отправил: v-vik, 1-й класс
Ответ отправлен: 21.11.2009, 01:38

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 256751 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!
    Отвечает Пупорев Юрий Борисович, Специалист :
    Здравствуйте, Капитан Прайс!
    В приложении вариант решения первой задачи, при чем предусмотрен вывод матрицы на экран в заданном месте и заданным цветом. Это может пригодиться Вам в будущем. Если сейчас это не нужно, лишнее уберите. Только сначала сохраните копию программы. Во вложении программа, а также символы псевдографики и их коды в файле .pas, где видно как они будут выглядеть в натуре.

    Приложение:
    Прикрепленный файл: загрузить »

    Ответ отправил: Пупорев Юрий Борисович, Специалист
    Ответ отправлен: 21.11.2009, 10:00

    Оценка ответа: 5
    Комментарий к оценке:
    большое спасибо!!!!!!!!!

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 256758 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

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

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.11 от 17.11.2009

    В избранное