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

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 50
от 24.04.2005, 14:50

Администратор:Калашников О.А.
В номере:Вопросов: 2, Ответов: 12


Вопрос № 19959: Как найти минимальное из трёх чисел X,Y,Z, с помощью оператора IF...Then ...
Вопрос № 19960: Получить массив X, элементы которого вычисляются по формуле X[i,j]=A[i,j]+B[i,j]. Массивы A и B заданы и имеют размерность N x N. Переписать элементы массива X в массив Y, поменяв строки и столбцы местами. напишите пожалуйста процедуру которая ме...

Вопрос № 19959
Как найти минимальное из трёх чисел X,Y,Z, с помощью оператора IF...Then
Отправлен: 19.04.2005, 14:43
Вопрос задал: ger (статус: Посетитель)
Всего ответов отправлено: 8

Отвечает: Котиев Зураб
Здравствуйте, ger!
Я сюды заглянул с асма но вроде должно быть так
var
min :integer;
begin
min=x;
if (y<min) then min=y else
if (z<min) then min=z;
end

Приложение:

Ответ отправил: Котиев Зураб (статус: 4-ый класс)
Отправлен: 19.04.2005, 18:19

Отвечает: DSota
Здравствуйте, ger!
min:=x;
if min>y then min:=y;
if min>z then min:=z;
Ответ отправил: DSota (статус: Студент)
Отправлен: 19.04.2005, 18:59

Отвечает: Malish
Здравствуйте, ger!
uses crt;
var X,Y,Z : integer;
begin
clrscr;
writeln('Vvedite X,Y,Z');
readln(X);
readln(Y);
readln(Z);
if (X<Y) then
if (X<Z) then
writeln('Min = ', X)
else
writeln('Min = ', Z)
else
if(Y<Z) then
writeln('Min = ', Y)
else
writeln('Min = ', Z);
readln;
end.
Ответ отправил: Malish (статус: 10-ый класс)
Отправлен: 19.04.2005, 19:22

Отвечает: dentist
Здравствуйте, ger!
ну с этими операторами давольно легко,
а вот, без оператора if...
min := x + y * integer(y < x) - x * integer(y < x);
min := min + z * integer(z < min) - min * integer(z < min);
Ответ отправил: dentist (статус: 2-ой класс)
Отправлен: 19.04.2005, 22:12

Отвечает: Алексей Владимирович
Здравствуйте, ger!
1. Определить промежуточную переменную (например MINIMUM)
2. Код в приложении.
3. На выходе получаем значение промежуточной переменной, которая и является минимумом.

Приложение:

Ответ отправил: Алексей Владимирович (статус: 7-ой класс)
Отправлен: 20.04.2005, 10:13

Отвечает: sir henry
Здравствуйте, ger!
var
minimum: {Тот же тип, что и x, y, z. Целые и нецелые числа между собой сравнивать нельзя}
If x If z minimum:=z;
Else
minimum:=x
Else
If z minimum:=z;
Else
minimum:=y;
{Вроде бы не напутал :) }
{Следует учесть, что оператор ELSE всегда относиться к ближайшему IF, иначе нужна будет группировка из BEGIN .. END}
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 20.04.2005, 11:30

Отвечает: Boriss
Здравствуйте, ger!
Одно добавлю: я обычно используя для таких целей функцию
function iMin(a, b: Integer): Integer; {для других переменных r, w, ...}
begin
if a < b then iMin:=a else iMin:=b
end;
и для решения вашей задачи надо два раза ее применить
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 20.04.2005, 17:49

Отвечает: newinfo2005
Здравствуйте, ger!
Вот вставь это:
А в описание переменных выбирай любой тип!!!

Приложение:

Ответ отправил: newinfo2005 (статус: 1-ый класс)
Отправлен: 20.04.2005, 18:00


Вопрос № 19960
Получить массив X, элементы которого вычисляются по формуле X[i,j]=A[i,j]+B[i,j]. Массивы A и B заданы и имеют размерность N x N. Переписать элементы массива X в массив Y, поменяв строки и столбцы местами.
напишите пожалуйста процедуру которая меняет строки и столбцы местами, а всё остальное у меня есть
Заранее благодарю
Отправлен: 19.04.2005, 14:49
Вопрос задал: ger (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: DSota
Здравствуйте, ger!
for i:=1 to n do for j:=1 to n do y[i,j]=x[j,i];
Ответ отправил: DSota (статус: Студент)
Отправлен: 19.04.2005, 18:33

Отвечает: Алексей Владимирович
Здравствуйте, ger!
Чтобы поменять местами строки и столбцы, используется структура типа: X[i,j]:=Y[j,i];
Ответ отправил: Алексей Владимирович (статус: 7-ой класс)
Отправлен: 20.04.2005, 10:17

Отвечает: sir henry
Здравствуйте, ger!
Я так понимаю, у Вас квадратная матрица. :)
var
i, j: integer; {Эти переменные будут служить по очереди столбцами и строками}
Begin
For i:=0 To N-1 do
For j:=0 To N-1 do
Y[i,j]:=X[j,i];
End.
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 20.04.2005, 11:35

Отвечает: Boriss
Здравствуйте, ger!
НЕ МОГУ НЕ дополнить - в предложенных вариантах все должно остьтся на своих местах ;((
Надо:
for i:=1 to N do
for j:=i+1 to N do {!!!! от i+1}
а далее как написано
Ответ отправил: Boriss (статус: Профессор)
Отправлен: 20.04.2005, 17:45


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.pasplus
Отписаться

В избранное