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

0 голосов
66 просмотров

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

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


image

Информатика (165 баллов) | 66 просмотров
0

Язык-то какой?

0

Паскалек

0

Не заметил)))

0

Спасибо

0

Кнопочки "спасибо" вполне достаточно, если это мне было)

0

Да, только массивом надо было сделать ну да ладно идея главное есть

0

А тут массив не нужен ни по условию задания, ни по алгоритму.

0

Т.е. несмотря на тему "одномерные массивы" можно говорить о задаче, как о примере, где с виду массив нужен, а по факту нет.

0

Но могу добавить вариант с массивом

Дан 1 ответ
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.

(142k баллов)
0

Спасибо Большое, ты гений!