OOO"Kiprei"_Aleksandr1938
?>

Прога на паскале. ввести элемент, ввести массив. если в массиве присудствует этот элемент, то ничего не делаем. если его нет, то нужно вставить его в середину массива (если массив не четный, то по любую сторону от элемента, находящегося в его середине)

Информатика

Ответы

Наталья_Владимир708
Const n=10;
var a:array[1..n+1] of integer;
k,i:integer; b:boolean;
begin
Randomize;
for i:=1 to n do
 begin
 a[i]:=random(21)-10;
 write(a[i]:4);
 end;
writeln;
write('Введите число: '); readln(k);
b:=false;
for i:=1 to n do
 if a[i]=k then b:=true;
if not b then
  begin
  for i:=n+1 downto n div 2 + 1 do a[i]:=a[i-1];
  a[n div 2]:=k;
  for i:=1 to n+1 do write(a[i]:4);
  writeln;
  end
 else writeln('Массив не изменился');
end.

Пример:
   6  10  -5  -3  -9  -8  -3   3  -9   7
Введите число: 4
   6  10  -5  -3   4  -9  -8  -3   3  -9   7
svetkaiv

//у меня прошел все тесты

#include < iostream>

#include < vector>

#include < algorithm>

using namespace std;

int abc(int a)

{

    if(a > 0)

        return a;

    return a *= -1;

}

int main()

{

  int n;

    cin> > n;

    vector< int> d(n+1);

//ввод

    for(int i = 1; i< =n; i++)

    {

        cin> > d[i];

    }

    vector< int> b(n+1);

    b[1] = d[1];

    b[2] = abc(d[2] - d[1]);

//дп

    for(int i = 3; i< =n; i++)

    {

      long a = abc( d[i] -   d[i-1] );

        long z =   abc( 3 *   (   d[i]   -   d[i-2]   ) );

        a = a   + b[i-1];

        z =   z   + b[i-2];

        b[i] = min(a,z);

      // cout< < b[i]< < " "< < i< < endl;

        if(i == 3 & & b[i] == z)

        {

            b[i] -= d[i-2];

        }

  }

    cout< < b[n]< < endl

}

kuchino09

дан ряд чисел:

1 2 3 4 5 6 7 8 9 10 11

рассмотрим наихудший вариант попадания

1. говорим цифру 2, в ответ ничего не слышим, соответственно в 1 и 3 тоже ничего нет

2. говорим цифру 5, в ответ ничего   не слышим, соответственно в 4 и 6 тоже ничего нет

3. говорим цифру 8, в ответ ничего   не слышим, соответственно в 7 и 9 тоже ничего нет

4. говорим цифру 10, в ответ слышим "попал" или "почти попал", и сразу становится понятно, где цифра.

если слышим раньше "попал", то на этом останавливаемся.

если слышим раньше "почти попал", то стреляем в соседнюю, и если попадаем, то цепочка прекращается, если ничего не слышим, то будет число, которое мы не называли.

ответ: 4 - наименьшее количество чисел при худшем раскладе.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Прога на паскале. ввести элемент, ввести массив. если в массиве присудствует этот элемент, то ничего не делаем. если его нет, то нужно вставить его в середину массива (если массив не четный, то по любую сторону от элемента, находящегося в его середине)
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

borvalmok432
Анна Марина1873
maksmi
Радецкая264
gassvetlana
kate1610
tribunskavictory
fedchenkoofficial
ninaandreeva3179
Александрович_Викторовна
Шабунина-Евгения1883
dima8585
okovyrova1
olelukoya4
Вадим