Oksana373
?>

Написать программы в паскале. 1. дан массив целых чисел. напечатать все элементы, оканчивающиеся нулем. 2. дан массив целых чисел. все нечетные числа удвоить, а четные уменьшить вдвое. , !

Информатика

Ответы

sarycheva659
{1. Дан массив целых чисел. Напечатать все элементы, оканчивающиеся нулем.}
{mod  - остаток от деления, например 123 mod 10 =3}
var a: array [1..100] of integer;
   i,N:integer;
begin
 writeln('Введите кол-во элементов массива'); readln(n);
 writeln('введите эл-ты массива');
 for i:=1 to N do read(a[i]);
 writeln(' эл-ты массива оканчивающиеся нулем.');
 for i:=1 to N do
  if a[i] mod 10 =0 then writeln(a[i]:5); 
end.
ivanovk3599

5

Объяснение:

Здесь также же петрушка,что и подобное задание, разница лишь в условии. Здесь перемещение должно происходить тогда, когда последняя цифра а[i] равняется всему числу а[0].массив такой:

8, 3, 16, 24, 35, 18, 4, 72, 8, 99, 44

И смена мест происходит не а0 с аi, а аi c a(i+1), т.е а0 никак не меняется.

Кароче, дашло до 18 при а5 и поменялся массив так:

8, 3, 16, 24, 35, 4, 18, 72, 8, 99, 44

Теперь смотрим: а6 тоже заканчивается на 8, значит трансформируем массив опять:

8, 3, 16, 24, 35, 4, 72, 18, 8, 99, 44

И опять он встал на нашем пути. И так будет до конца массива. И это случится действительно 5 раз.

suhanowaswetlana

Const

  N = 30;

Var

  a: array [1..N] of integer;

  MaxEv, MaxOdd, I: integer;

begin

  for i := 1 to N do

  begin

    write('a[', i , '] = ');

    readln(a[i]);

  end;

  MaxEv := 0;

  MaxOdd := 0;

  For I := 1 to N do { перебираем все элементы массива}

    if a[i] mod 2 = 0 then { проверяем делится ли текущий элемент на 2 без остатка}

    begin

      if a[i] > MaxEv then {если да, то проверяем больше ли найденного до этого наибольшего четного}

        MaxEv := a[i]; {присваиваем новое наибольшее четное значение}

     end

     else

       if a[i] > MaxOdd then {если нет, то проверяем больше ли найденного до этого наибольшего нечетного}

         MaxOdd := a[i]; {присваиваем новое наибольшее нечетное значение}

  Writeln ('MaxEv - MaxOdd = ', MaxEv, ' - ', MaxOdd, ' = ', MaxEv - MaxOdd);

end.

 

 

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

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

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

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

Иван1764
Вайнер
ivnivas2008
Ерцкин_Овечкина391
rikki07834591
Georgievna
lakeeva90
Aleksey19801
mmctriitsk
Мартынова1638
Yelena1409
ivanpetrovichru1801
morozova4956
remontsalarievo2
ivanjeka87