Вопрос задан 14.02.2021 в 01:23. Предмет Информатика. Спрашивает Рубчинский Дима.

Перестановка элементов массива Массив A(10) состоит из чисел 7, 8 и 9. Переставить элементы массива

таким образом, чтобы сначала стояли все числа 8, потом – 7, а в конце – 9. (Примечание: Используется один массив, последний блок в программе должен быть: for i:=1 to 10 do write(a[i], ' '); ) Формат входных данных: В единственной строке входного файла 10 чисел разделенных пробелами. Формат выходных данных: 10 чисел разделенные пробелами.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Хаскина Вероника.
Var a:array[1..10]of integer;
i,n7,n8,n9:integer;
begin
  for i:=1 to 10 do begin
    read(a[i]);
    if a[i] = 7 then n7+=1;
    if a[i] = 8 then n8+=1;
    if a[i] = 9 then n9+=1;
  end;
  for i:=1 to 10 do begin
    if i<=n8 then a[i]:=8;
    if (i>n8) and (i<=(n7+n8)) then a[i]:=7;
    if i>(n7+n8) then a[i]:=9;
  end;
  for i:=1 to 10 do write(a[i],' ');
end.

Тестовое решение:
9 7 8 9 7 8 9 7 8 9
8 8 8 7 7 7 9 9 9 9




0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи можно использовать следующий алгоритм:

  1. Создать массив A с 10 элементами.
  2. Считать 10 чисел из входной строки и заполнить массив A.
  3. Создать переменные i и j, инициализировать их нулями.
  4. Начать цикл по i от 0 до 9.
  5. Если A[i] равно 8, увеличить j на 1 и поменять местами A[i] и A[j].
  6. Завершить цикл.
  7. Установить i в j+1.
  8. Начать цикл по i от j+1 до 9.
  9. Если A[i] равно 7, увеличить j на 1 и поменять местами A[i] и A[j].
  10. Завершить цикл.
  11. Установить i в j+1.
  12. Начать цикл по i от j+1 до 9.
  13. Если A[i] равно 9, увеличить j на 1 и поменять местами A[i] и A[j].
  14. Завершить цикл.
  15. Вывести элементы массива A, разделенные пробелами.

Вот пример реализации данного алгоритма на языке Pascal:

pascal
var A: array[1..10] of Integer; i, j, temp: Integer; begin for i := 1 to 10 do Read(A[i]); j := 0; for i := 1 to 10 do begin if A[i] = 8 then begin Inc(j); temp := A[i]; A[i] := A[j]; A[j] := temp; end; end; i := j + 1; for i := i to 10 do begin if A[i] = 7 then begin Inc(j); temp := A[i]; A[i] := A[j]; A[j] := temp; end; end; i := j + 1; for i := i to 10 do begin if A[i] = 9 then begin Inc(j); temp := A[i]; A[i] := A[j]; A[j] := temp; end; end; for i := 1 to 10 do Write(A[i], ' '); end.

После запуска программы и ввода 10 чисел, она выведет переставленные элементы массива A в требуемом порядке.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос