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

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


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

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

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

Гуревич Александр Львович
Статус: Специалист
Рейтинг: 2004
∙ повысить рейтинг »
_Ayl_
Статус: Студент
Рейтинг: 1415
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 1140
∙ повысить рейтинг »

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

Номер выпуска:968
Дата выхода:14.11.2009, 12:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:357 / 183
Вопросов / ответов:1 / 1

Вопрос № 174089: Здравствуйте, уважаемые эксперты. Решаю следующую задачу: составить процедуру выделения из массива Y (4*3) элементов со значением в диапазоне X1..X2. Результат из M элементов помещеатес в массив Y. Просьба помочь составить процедуру....



Вопрос № 174089:

Здравствуйте, уважаемые эксперты.
Решаю следующую задачу: составить процедуру выделения из массива Y (4*3) элементов со значением в диапазоне X1..X2. Результат из M элементов помещеатес в массив Y.

Просьба помочь составить процедуру.

Отправлен: 09.11.2009, 12:05
Вопрос задал: Сигов Виталий Валериевич, Посетитель
Всего ответов: 1
Страница вопроса »


Отвечает LfiN, 8-й класс :
Здравствуйте, Сигов Виталий Валериевич.
Надеюсь я правильно понял условия задачи: составить процедуру выделения из массива Y размерностью 4 на 3 элементов со значением в заданном диапазоне X1..X2 и поместить их обратно в массив.
Программа оставляет только те значения, которые удовлетворяют заданному диапазону, остальным присваивает 0. Программа проверена, комментарии там же.
Код:
program q174089;
const m=4; n=3;

type {Зададим новый тип}
matr = array [1..m,1..n] of integer;

var y: array [1..m,1..n] of integer; {Массив 4x3}
i, j, x1, x2: integer;

procedure diapazon (a:integer; b:integer; var y1: matr); {Процедура, которая оставляет все цифры в заданном диапазоне [a,b], а остальные переводит в 0}
begin
for i:=1 to m do
for j:=1 to n do
if ((y1[i,j]>=a)and(y1[i,j]<=b)) then continue {Если элемент массива больше a и меньше b, то его оставляем}
else y1[i,j]:=0; {Иначе приравниваем к 0}
end;


begin

for i:=1 to m do {Забиваем массив целыми значениями}
for j:=1 to n do
begin
Write('y[',i,j,']=');
ReadLn(y[i,j]);
end;

WriteLn('Введенная матрица: ');{Выводим}
for i:=1 to m do
begin
for j:=1 to n do
Write(y[i,j],' ');
WriteLn;
end;

Write('Введите диапазон через пробел и нажмите ENTER: ');
Readln(x1,x2);

diapazon(x1,x2,y); {Вызываем процедуру}
WriteLn('Матрица в заданном диапа зоне: '); {Выводим что получилось}
for i:=1 to m do
begin
for j:=1 to n do
Write(y[i,j],' ');
WriteLn;
end;
WriteLn('Нажмите ENTER для завершения');
ReadLn;
end.

Ответ отправил: LfiN, 8-й класс
Ответ отправлен: 09.11.2009, 16:07

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


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

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

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

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

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

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

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


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

    В избранное