Предмет: Информатика, автор: must2012

Одномерные массивы. Не могу понять как выполнить первую часть задания ВАРИАНТ5

" Ввести 10 чисел не допуская ввода числа равного предыдущему" (PASCAL)

Приложения:

Ответы

Автор ответа: Аноним
0
const
  k = 10;

var
  i, m, n, max, min, nmax, nmin: integer;

begin
  Write('Введите целое число: ');Readln(m);
  n := m; max := m; min := m; nmax := 1; nmin := 1;
  for i := 2 to k do
  begin
    repeat
      Write('Введите целое число, не равное ', n, ': ');Readln(m);
    until m <> n;
    n := m;
    if max < m then begin max := m;nmax := 1 end
    else
    if max = n then Inc(nmax);
    if min > m then begin min := m;nmin := 1 end
    else
    if min = n then Inc(nmin)
  end;
  Writeln('Минимальное введенное значение равно ', min);
  Writeln('Максимальное введенное значение равно ', max);
  if nmin > nmax then
    Writeln('Введено чисел с минимальным значением- ', nmin)
  else
  if nmax > nmin then
    Writeln('Введено чисел с максимальным значением- ', nmax)
    else
  if (nmax = nmin) and (nmin > 1) then
    Writeln('Введено чиселм с минимальным и максимальным значением- ', nmin)
end.

Тестовое решение:
Введите целое число: 65
Введите целое число, не равное 65: 65
Введите целое число, не равное 65: 72
Введите целое число, не равное 72: -30
Введите целое число, не равное -30: 65
Введите целое число, не равное 65: 38
Введите целое число, не равное 38: -15
Введите целое число, не равное -15: 65
Введите целое число, не равное 65: -30
Введите целое число, не равное -30: 7
Введите целое число, не равное 7: 42
Минимальное введенное значение равно -30
Максимальное введенное значение равно 72
Введено чисел с минимальным значением- 2

Вариант с массивом, тестовое решение то же
const
  k = 10;

var
  i, n, max, min, nmax, nmin: integer;
  a: array[1..k] of integer;

begin
  Write('Введите целое число: ');Readln(a[1]);
  n := a[1]; max := n; min := n; nmax := 1; nmin := 1;
  for i := 2 to k do
  begin
    repeat
      Write('Введите целое число, не равное ', n, ': ');Readln(a[i]);
    until a[i] <> n;
    n := a[i];
    if max < n then begin max := n; nmax := 1 end
    else
    if max = n then Inc(nmax);
    if min > n then begin min := n; nmin := 1 end
    else
    if min = n then Inc(nmin)
  end;
  Writeln('Минимальное введенное значение равно ', min);
  Writeln('Максимальное введенное значение равно ', max);
  if nmin > nmax then
    Writeln('Введено чисем с минимальным значением- ', nmin)
  else
  if nmax > nmin then
    Writeln('Введено чисем с максимальным значением- ', nmax)
    else
  if (nmax = nmin) and (nmin > 1) then
    Writeln('Введено чисем с минимальным и максимальным значением- ', nmin)
end.

Автор ответа: must2012
0
Спасибо Большое, ты гений!
Похожие вопросы
Предмет: История, автор: aazansultankyzy
Предмет: Алгебра, автор: bohdanka2704