Чтобы научиться програмировать по-настоящему, надо себе во всем отказывать. Например, запретить себе пользоваться половиной операторов в языке программирования. Вот тогда и рождаются гениальные идеи. Это так называемый минималистический стиль программирования. А теперь сама задачка.
Составить программу (на Паскале) нахождения максимального элемента в массиве из 100 элементнов. Элементы массива - целые числа. Теперь самое главное (сюрприз) : нельзя пользоваться условными операторами (в том числе не использовать Case). И второй сюрприз: для организации цикла можно использовать только FOR. Все остальные средства - пожалуйста используйте.
Решения пишите в комментариях под статьей. Можно также голосовать за самое изящное с вашей точки зрения решение. Оцениваться решения будут по времени поступления, правильности и оригинальности алгоритма, а также с учетом голосов посетителей сайта (по числу положительных голосов).
2010-10-09 • Просмотров [ 1978 ]
program findMax;
const N=100;
var
i,max: integer;
temp:boolean;
mas: array[1..N] of integer;
mastemp: array [0..1] of integer;
//----------------------------------
begin
randomize;
for i:=1 to N do
mas[i]:=random(100);
Max:=mas[1];
for i:=1 to N-1 do
begin
mastemp[0]:=mas[i];
mastemp[1]:=mas[i+1];
temp:=mas[i]<mas[i+1];
Max:=mastemp(temp);
end;
writeln(Max)
end.
То, что код скомпилируется сразу, гарантировать не могу, ибо паскаля у меня нет, писал в блокноте, а с первого раза, как известно, без ошибок не бывает :)
//------------------------------------------------------------------------------
const
N=100;
var
i,Max:integer;
temp:boolean;
mas:array[1..N] of integer;
//------------------------------------------------------------------------------
function setMax(index:integer):boolean;
begin
Max:=mas[index];
end;
//------------------------------------------------------------------------------
begin
for i:=1 to N do Mas[i]:=random(100);
Max:=mas[1];
for i:=1 to N do temp:=((Mas[i]>Max) and true) and setMax(i);
writeln(Max);
end.
//------------------------------------------------------------------------------
и разве эта программа не выдаст последний элемент массива?