Переставить минимальный элемент и элемент, равный числу, введенному с клавиатуры. Вывести на экран минимальный элемент и массив до и после изменений. Часные случаи: если несколько минимальных элементов или несколько элементов, равных введенному числу с клавиатуры.
-Ник-:!help:
15.11.2007 22:15
Вот полный текст задания:
Организовать ручное заполнение целочисленного одномерного массива В. Переставить минимальный элемент массива (предполагая, что такой элемент единственный) и элемент, равный числу, введённому с клавиатуры (предполагая, что такой элемент единственный). Вывести на экран минимальный элемент массива, а также сам массив В до и после изменения.
Предусмотреть исключительные ситуации, а именно: если исходный массив будет содержать несколько минимальных элементов или несколько элементов, равных числу, введённому с клавиатуры, то соответствующее сообщение должно быть выведено на экран и перестановка элементов при этом осуществляться не должна.
мисс_граффити
15.11.2007 23:29
Показывай, что пробовал делать.
Можно как файл с расширением .pas?
Добавлено через 14 мин.
Ну как? Получается?
не знаешь как найти минимальный элемент? или не можешь понять в чем проблема в твоем коде?
Цитата(Client @ 15.11.2007 21:03)
не знаешь как найти минимальный элемент? или не можешь понять в чем проблема в твоем коде?
Минимальный знаю как найти.не могу понять в чем проблема в коде и сделать часные случаи.((((
Код
uses crt;
var
a:array[1..50] of integer;
n,i,k,c,kk,mk:integer;
begin
clrscr;
c:=0;
kk:=0;
mk:=1;
writeln(' Vvedite n ');
read(n);
writeln(' Vvedite ',n,'- elementov: ');
for i:= 1 to n do
read(a[i]);
writeln(' ishodniy massiv: ');
for i:=1 to n do
write(' ',a[i]);
writeln(' vvedite K ');
read(k);
c:=a[1];
for i:=1 to n do
begin
if a[i]<c then
begin
c:=a[i];
mk:=1;
end;
if a[i]=c then
inc(mk);
if a[i]=k then
inc(kk)
end;
if (mk>2) or (kk>1) then
begin
writeln(' neskolko chisel');
readkey;
halt
end;
for i:= 1 to n do
begin
if a[i]=k then
a[i]:=c
else
if a[i]=c then
a[i]:=k;
end;
for i:=1 to n do
write(' ',a[i]);
writeln(' min= ',c);
readkey
end.
Вот, будут вопросы - отвечу
Цитата(Client @ 15.11.2007 21:54)
Код
uses crt;
var
a:array[1..50] of integer;
n,i,k,c,kk,mk:integer;
begin
clrscr;
c:=0;
kk:=0;
mk:=1;
writeln(' Vvedite n ');
read(n);
writeln(' Vvedite ',n,'- elementov: ');
for i:= 1 to n do
read(a[i]);
writeln(' ishodniy massiv: ');
for i:=1 to n do
write(' ',a[i]);
writeln(' vvedite K ');
read(k);
c:=a[1];
for i:=1 to n do
begin
if a[i]<c then
begin
c:=a[i];
mk:=1;
end;
if a[i]=c then
inc(mk);
if a[i]=k then
inc(kk)
end;
if (mk>2) or (kk>1) then
begin
writeln(' neskolko chisel');
readkey;
halt
end;
for i:= 1 to n do
begin
if a[i]=k then
a[i]:=c
else
if a[i]=c then
a[i]:=k;
end;
for i:=1 to n do
write(' ',a[i]);
writeln(' min= ',c);
readkey
end.
Вот, будут вопросы - отвечу
СПС, но если чесно программа не работает вообще. Она не меняет никакие элементы и всегда выводит сообщение neskolko chisel'. Если можеш, то отладь её.
Зачем???
Цитата
сообщение должно быть выведено на экран и перестановка элементов при этом осуществляться не должна.
А если хочешь изменить, то просто убери
halt после writeln(' neskolko chisel');
Надо же, а у меня все работает. Хотелось бы узнать почему?
Нажмите для просмотра прикрепленного файлаЦитата(Client @ 16.11.2007 6:35)
Надо же, а у меня все работает. Хотелось бы узнать почему?
Чо за переменная KK,KM,C?
alter, Ты программу МЕНЯЛ? (я вижу, что менял, она у тебя русифицированная, а исходная - на транслите). Какие теперь претензии? Значит, что-то не так "изменил". Либо пользуйся той программой, что тебе дали, либо выкладывай свой "шедевр"...
KK это количество встречающихся К
MK количество встречающихся минимальных элементов
C минимальный элемент
Еще вопросы?
Странно ты ее изменил
хотя бы где она выводит "введите элемент массива" n раз
зачем?
Скоро выложу мой почти доделанный шедевр
Добавлено через 3 мин. Цитата(volvo @ 16.11.2007 10:20)
alter, Ты программу МЕНЯЛ? (я вижу, что менял, она у тебя русифицированная, а исходная - на транслите). Какие теперь претензии? Значит, что-то не так "изменил". Либо пользуйся той программой, что тебе дали, либо выкладывай свой "шедевр"...
йа только сообщения поменял...
Это то, что йа сделал. Помогите с частными случаями только плз!
Чтобы опять получилось так, как с моей программой? Ты благополучно ее проигнорировал, и опять просишь решить то же самое?
Цитата(volvo @ 18.11.2007 12:42)
Чтобы опять получилось так, как с моей программой? Ты благополучно ее проигнорировал, и опять просишь решить то же самое?
Йа ее не игнорировал. Она просто написана более сложно чем эта. Вот я уже сам справился!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.