Другие языки программирования и технологии

Помогите сделать программу

6.Подсчитать количество наибольших и наименьших элементов.
Пример: 5 6 7 8 4 -1 4 -1 8 8 7 0 результат: Nmax=3, Nmin=2.

ЗАДАНИЕ:
Вычислить указанные в Вашем варианте характеристики последовательности, вво¬ди-мой с клавиатуры (без использования массивов и промежуточных файлов для хранения всей последовательности) , учитывая, что элементы последовательности могут быть введены только один раз.
ПРИМЕЧАНИЯ:
В программе обязательно применение функций с передаваемыми параметрами. Не допускается использование массивов.
Рекомендуется использовать операции целочисленной арифметики. Если в после-дова¬тельности отсутствует искомый элемент, то об этом следует вывести сообщение.
Илюха !!!
Илюха !!!
202
Язык указывать не забываем. Наверное тебе это надо сделать на ассемблере? Я прав ? :)
Валерий Паршуков
Валерий Паршуков
2 592
Лучший ответ
set max [set min [set x [gets stdin]]]
incr nmax; incr nmin
while {0 != [set x [gets stdin]]} {
if {$x > $max} {set max $x; set nmax 1} elseif {$x == $max} {incr nmax}
if {$x < $min} {set min $x; set nmin 1} elseif {$x == $min} {incr nmin}
}
puts "nmax: $nmax; nmin: $nmin"

To BlackPirate: походу оба не угадали, в этом учебном заведении учат программировать на Си.
А язык указать слабо?
PROLOG, Lisp, perl??
Андрей Якутин
Андрей Якутин
75 320
Ну собственно вот мой вариант твоей задачки на паскале:

program name;

var
x, i, n, max, min, Nmax, Nmin: integer;

begin
Nmax := 1;
Nmin := 1;
write('Введите количество элементов последовательности');
read(n);
writeln('Введите элемент последовательности');
read(x);
max := x;
writeln('Введите элемент последовательности');
read(x);
if max < x then
begin
min := max;
max := x;
end
else
if max > x then
min := x
else
begin
min:=max;
Nmax := 2;
Nmin := 2;
end;
for i := 1 to n-2 do
begin
writeln('Введите элемент последовательности');
read(x);
if x > max then
begin
max := x;
Nmax := 1;
end
else
if x = max then
Nmax := Nmax + 1;

if x < min then
begin
min := x;
Nmin := 1;
end
else
if x = min then
Nmin := Nmin + 1;
end;
write('Кол-во мин. элеменов - ', Nmin, '.Кол-во макс. элементов - ', Nmax);
end.