Вопрос задан 14.02.2021 в 01:23.
Предмет Информатика.
Спрашивает Рубчинский Дима.
Перестановка элементов массива Массив A(10) состоит из чисел 7, 8 и 9. Переставить элементы массива
таким образом, чтобы сначала стояли все числа 8, потом – 7, а в конце – 9. (Примечание: Используется один массив, последний блок в программе должен быть: for i:=1 to 10 do write(a[i], ' '); ) Формат входных данных: В единственной строке входного файла 10 чисел разделенных пробелами. Формат выходных данных: 10 чисел разделенные пробелами.Ответы на вопрос
        Отвечает Хаскина Вероника.
                
                   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
              
              
              
              
              
                                        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
            Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
                
    Для решения этой задачи можно использовать следующий алгоритм:
- Создать массив A с 10 элементами.
 - Считать 10 чисел из входной строки и заполнить массив A.
 - Создать переменные i и j, инициализировать их нулями.
 - Начать цикл по i от 0 до 9.
 - Если A[i] равно 8, увеличить j на 1 и поменять местами A[i] и A[j].
 - Завершить цикл.
 - Установить i в j+1.
 - Начать цикл по i от j+1 до 9.
 - Если A[i] равно 7, увеличить j на 1 и поменять местами A[i] и A[j].
 - Завершить цикл.
 - Установить i в j+1.
 - Начать цикл по i от j+1 до 9.
 - Если A[i] равно 9, увеличить j на 1 и поменять местами A[i] и A[j].
 - Завершить цикл.
 - Вывести элементы массива A, разделенные пробелами.
 
Вот пример реализации данного алгоритма на языке Pascal:
pascalvar 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 в требуемом порядке.
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
	- 
			
Математика
 - 
			
Литература
 - 
			
Алгебра
 - 
			
Русский язык
 - 
			
Геометрия
 - 
			
Английский язык
 - 
			
Химия
 - 
			
Физика
 - 
			
Биология
 - 
			
Другие предметы
 - 
			
История
 - 
			
Обществознание
 - 
			
Окружающий мир
 - 
			
География
 - 
			
Українська мова
 - 
			
Информатика
 - 
			
Українська література
 - 
			
Қазақ тiлi
 - 
			
Экономика
 - 
			
Музыка
 - 
			
Право
 - 
			
Беларуская мова
 - 
			
Французский язык
 - 
			
Немецкий язык
 - 
			
МХК
 - 
			
ОБЖ
 - 
			
Психология
 - 
			
Физкультура и спорт
 - 
			
Астрономия
 - 
			
Кыргыз тили
 - 
			
Оʻzbek tili
 
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			