Вопрос № 121620: Помогите пожалуйсста, пишу программу, а всё время какие-то недочеты
имеются(так обидно, а задачка-то простая:Поменять местами
min -ый и max -ый элемент массива)! Спасибо!...Вопрос № 121636: Здравствуйте эксперты! Очень Вас прошу! Помогите разобраться в процедурах программы для деления BIN - чисел с возобновлением остатка.
ПЛЖАЛУЙСТА!
1). procedure dodav (var suma:string; k:integer; l:char);
begin
if suma[k] <&g...
Вопрос № 121.620
Помогите пожалуйсста, пишу программу, а всё время какие-то недочеты
имеются(так обидно, а задачка-то простая:Поменять местами
min -ый и max -ый элемент массива)! Спасибо!
Отвечает: Nazar__D
Здравствуйте, Коновалова Наталья Антоновна!
Вот решение ваших проблем. Помог, чем мог :)
Приложение:
--------- Я - українець!
Ответ отправил: Nazar__D (статус: 3-ий класс)
Ответ отправлен: 04.02.2008, 17:56 Оценка за ответ: 5
Отвечает: Николай Владимирович / Н.В.
Здравствуйте, Коновалова Наталья Антоновна!
В приложении программа для замены Min и Max элементов в одномерном массиве.
Для двумерного делается аналогично: надо изменить функции поиска минимального и максимального элемента так чтобы проходились все элементы, а не только одна строка. Если будут вопросы, пишите.
Удачи!
Приложение:
Ответ отправил: Николай Владимирович / Н.В. (статус: Специалист)
Ответ отправлен: 04.02.2008, 18:04 Оценка за ответ: 5
Отвечает: Евчик Сергей Александрович
Здравствуйте, Коновалова Наталья Антоновна! Если не ошибаюсь то код пишется так:
Приложение:
Ответ отправил: Евчик Сергей Александрович (статус: 2-ой класс)
Ответ отправлен: 04.02.2008, 18:53 Оценка за ответ: 4
Отвечает: Шемет Станіслав Васильович
Здравствуйте, Коновалова Наталья Антоновна!
Вот те Пример програмы :
const
n=10;
var
m:array[0..10] of integer;
Min,Max,I:integer;
A,b:integer;
procedure min_max;
begin
min:=m[0];
max:=m[0];
for i:=1 to n do
begin
if max<m[i] then
begin
max:=m[i];
a:=i;
end;
if min>m[i] then
begin
min:=m[i];
b:=i;
end;
end;
m[b]:=max;
m[a]:=min;
end;
begin
for i:=0 to n do
read(m[i]);
min_max;
end;
Здравствуйте эксперты! Очень Вас прошу! Помогите разобраться в процедурах программы для деления BIN - чисел с возобновлением остатка.
ПЛЖАЛУЙСТА!
1). procedure dodav (var suma:string; k:integer; l:char);
begin
if suma[k] <>l then suma[k]:='1';
else
if suma[k]='1' then
begin
suma[k]:='0';
end;
end;
2). procedure DCOD (var y:string);
begin
for i:=1 to length(y) do
if y[i]:='1'
then m:=i;
for i:=1 to (m-1) do
if y[i]:='1'
then y[i]:='0'
else y[i]:='1'l
end;
Вся программа с использованием этих процедур написана по схеме машинного деления BIN - чисел (начальное сост; зсув; возобновление и т.д)
Помогите разобраться! ПОЖАЛУЙСТА!
Отправлен: 04.02.2008, 18:54
Вопрос задал: skynet (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Denisss
Здравствуйте, skynet!
Процедура DCOD, судя по всему, предназначена для получения дополнительного кода числа (подробнее), обычно применяющегося для представления отрицательных чисел в двоичной системе. for i:=1 to length(y) do
if y[i]:='1' then
m:=i;
- даный кусок процедуры ищет последнюю единицу (слева-направо) в двоичном числе, переданным через переменную y. for i:=1 to (m-1) do
if y[i]:='1' then
y[i]:='0' else
y[i]:='1';
- данный код инвертирует все цифры слева-направо, до крайней единицы (эта остается неизменной).
Насчет процедуры dodav точно сказать не могу, но похоже, что она применяется для сложения.
--------- Будь осторожен, когда молишься ради чего-то, потому что можешь это получить...
Ответ отправил: Denisss (статус: Профессионал) Россия, Москва ---- Ответ отправлен: 04.02.2008, 19:36 Оценка за ответ: 5 Комментарий оценки: Спасибо Вам большое!