В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
cook16
cook16
04.04.2023 23:35 •  Информатика

У исполнителя Делитель две команды, которым присвоены номера: 1. Раздели на 2
2. Вытчи 1

Первая из них уменьшает число на экране в 2 раза, вторая уменьшает его на 1. Исполнитель работает только с натуральными числами.
Составте алгоритм получения из числа 72 числа 7, содержащий не более 5 команд. В ответе запишите только номера команд.
(например, 12112 - это алгоритм:
Раздели на 2
Вычти 1
Раздели на 2
Раздели на 2
Вычти 1,
Который преобразует число 42 в число 4).

1. 12112
2. 11122
3. 21212
4. 22211​

Показать ответ
Ответ:
Artem20032003
Artem20032003
23.01.2023 01:30

#include <iostream>

using namespace std;

int main()

{

   int N; cin >> N;

   int list[N];

   int a = 0;

   while (a < N)

   {

       int n; cin >> n;

       list[a] = n;

       a ++;

   }

   int flag_2 = 0;

   a = 0;

   while (a < N)

   {

       int b = 0;

       int flag = 0;

       while (b < N)

       {

           if (list[a] == list[b])

           {

               flag ++;

               flag_2 ++;

           }

           b ++;

       }

       if (flag > 1) cout << list[a] << " ";

       a ++;

   }

   if (flag_2 <= N) cout << 0;

}

1) ответ выводится не списком, а просто отдельными числами через пробел

2) каждое повторяющееся число выводится несколько раз(столько, сколько встречается)

3) в конце вывода лишний пробел

Могу решить на пайтоне, если важно просто закрыть задачу. А так, судя по всему, решение только массивами требует более глубоких знаний(динамические массивы и векторы), чем есть у меня в с++. Возможно, сможете улучшить мое решение

(кинул бы в комментарии, но там ограничение на кол-во символов)

0,0(0 оценок)
Ответ:
мансур45
мансур45
17.09.2022 09:46
//Pascal ABC.NET v3.0 сборка 1111

Const
 s=5;

Var
 ar:array[1..s] of integer;
 n,m,i:integer;
begin
 writeln('N');
 readln(n);
 writeln('M');
 readln(m);
 writeln('Array:');
 for i:=1 to s do
   readln(ar[i]);
 writeln('First array:');
 for i:=1 to s do
  begin
   write(ar[i]:4);
   if ar[i] div n<>0 then ar[i]:=ar[i]+m;
  end;
 writeln;
 writeln('Final array:');
  for i:=1 to s do
   write(ar[i]:4);
end. 

Пример ввода:
3
3
1
2
3
4
5
Пример вывода:
First array:
   1   2   3   4   5
Final array:
   1   2   6   7   8

//Блок-схема во вложении
Ввести двумерный массив a. все элементы, которые при целочисленном делении на n ненулевое значение,
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота