Матфеопуло1006
?>

Дан массив, содержащий 2020 положительных целых чисел не превышающих 15 000. Необходимо найти минимальный элемент, двоичная запись которого заканчивается не более чем одним нулём, уменьшить все нечётные элементы массива, превышающие найденный минимум, на величину этого минимума и вывести измененный массив. Если в массиве нет элементов, двоичная запись которых заканчивается не более чем одним нулем, нужно вывести массив без изменений. Например, для массива 12, 13, 18, 19, 20, 15 нужно получить и вывести массив, содержащий числа 12, 13, 18, 6, 20, 2. Программа на Паскале

Информатика

Ответы

juliapierrat

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

const  n = 2020; var  a: array[1..2020] of integer;  b: array[1..2020] of integer;  i, min, y: integer; function tobin2(x: integer): string; var  s: string; begin  s := '';  while x > 0 do  begin    s := c==hr(ord('0') + x mod 2) + s; //Удалить знак "="    x := x div 2;  end;  tobin2 := s; end; begin  Writeln('Исходный массив');  for i := 1 to n do  begin    a[i] := Random(1, 15000);    Write(a[i], ' ');  end;  Writeln();  min := a[1];  y := 1;  for i := 1 to n do  begin    b[i] := StrToInt64(tobin2(a[i]));    if (b[i] mod 10 = 0) and (((b[i] div 10) mod 10) <> 0) then      repeat        if min > a[i] then            min := a[i];        y += 1;      until y > n;  end;  Writeln('Минимальный элемент: ', Min, '--->', tobin2(min));  Writeln('Преобразованный масив');  for i := 1 to n do  begin    if (a[i] > min) and (Odd(a[i])) then      a[i] := a[i] - min;    Write(a[i], ' ');  end; end.

Что это СиеПрограмка показывает

1. Исходный массив

2. Минимальный элемент и его двоичного собрата))

3. Преобразованный масив

Исходный массив 14410 11670 6510 14010 1820 1520 9150 10944 5734 9675 14241 8625 7342 7267 12148 6811 13002 3015 3154 12772 14079 7601 9272 5673 7575 11451 10275 2864 6589 8974 1077 8940 999 13445 5581 476 12607 9795 9321 7003 11957 9984 11186 11590 9195 13802 2912 7635 12928 4027 6057 3056 1366 9341 14337 6810 2399 837 6436 5369 6246и.т.дМинимальный элемент: 38--->100110 Преобразованный масив 14410 11670 6510 14010 1820 1520 9150 10944 5734 9637 14203 8587 7342 7229 12148 6773 13002 2977 3154 12772 14041 7563 9272 5635 7537 11413 10237 2864 6551 8974 1039 8940 961 13407 5543 476 12569 9757 9283 6965 11919 9984 11186 11590 9157 13802 2912 7597 12928 3989 6019 3056 1366 9303 14299 6810 2361 799 6436 5331 6246 6249 4356 11723 8598 5302 и т.д.
Диана-Николаевна377

==== PascalABC.NET =====

begin

 var a := ArrRandom(2020, 1, 15000);

 a[:100].Println; // первые 100 чисел

 var m := a.Where(p -> p.IsOdd or p.IsEven and (p mod 4 <> 0)).Min;

 a.Transform(p -> p.IsOdd and (p > m) ? p - m : p);

 Writeln; // отступ

 a[:100].Print; // первые 100 чисел

end.


Дан массив, содержащий 2020 положительных целых чисел не превышающих 15 000. Необходимо найти минима
Nikolaevich-Svetlana388
Var
a,k,m,min,i,flag:integer;
    begin
            readln(a);
            m:=a; {сохраняю введенное значение и считаю кол-во цифр в числе}
              while m >0 do     
                  begin         
                          m:=m div 10;         
                          k:=k+1;     
                  end;     
min:=9; {записываю самое большое нечетное число}
{в цикле отсекаю последнюю цифру в числе и проверяю ее на нечетность. Если она нечетная и меньше числа min, то сохраняю ее в min и присваиваю переменной Flag 1. Если к концу программы в переменной flag  будет 1, значит хотя бы одна нечетная цифра в числе была, если flag=0 тогда в числе нет нечетных}
            for i:=1 to k do   
                      begin       
                             if   (a mod 10<=min)and(a mod 2<>0) then           
                                begin             
                                     min:=a mod 10;             
                                     flag:=1;           
                                end;       
                          a:=a div 10;   
                     end;         
      if flag=0 then           
                writeln('нет нечетных')         
      else             
                writeln(min);
end.
prianik6
1.Найти фотографии своего класса.
2.Создать первый слайд:Вставить фотографию всего класса,написать кто сделал презентацию и сделать надпись "Наш класс".
3.Сделать второй слайд: написать о своём классном руководителе,вставить его фото и сделать заголовок.
4.Сделать четвертый слайд:написать о себе,вставить своё фото и сделать заголовок.
5.Создавать  слайдов столько сколько у тебя одноклассников,делать их так же как про себя.Спрашивать у них про них.
6.Предпоследний слайд сделать с пожеланиями своим одноклассникам.
7.На последнем слайде можно поставить красивую картинку или смайл и написать за внимание!

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

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

Дан массив, содержащий 2020 положительных целых чисел не превышающих 15 000. Необходимо найти минимальный элемент, двоичная запись которого заканчивается не более чем одним нулём, уменьшить все нечётные элементы массива, превышающие найденный минимум, на величину этого минимума и вывести измененный массив. Если в массиве нет элементов, двоичная запись которых заканчивается не более чем одним нулем, нужно вывести массив без изменений. Например, для массива 12, 13, 18, 19, 20, 15 нужно получить и вывести массив, содержащий числа 12, 13, 18, 6, 20, 2. Программа на Паскале
Ваше имя (никнейм)*
Email*
Комментарий*

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

Татьяна Гришаевич
maksimovskiy7657
KonovalovKonstantinovna1306
boykoz9
khadisovam9
Иванов
eizmaylova6
Карапетян
Олег2014
pozhidaevgv
Maksimova1320
razumeiko0790
volodin-alexander
shmanm26
РубенШафетдинов
Информатика 9 класс, кроссворд! ​