Tatyana1374
?>

Дан целочисленный массив из 30 элементов. элементы массива могут принимать произвольные целые значения. напишите программу, которая находит и выводит номер третьего положительного элемента массива (если из массива вычеркнуть все неположительные элементы, этот элемент стоял бы в получившемся массиве на третьем месте если в массиве меньше, чем три положительных элемента, вывести сообщение об этом.

Информатика

Ответы

Fedorovna

program n_1;

var a: array [1..1000] of integer; i, buf: integer;

begin

  for i: =1 to 1000 do read(a[i]); //вводим массив

    for i: =1 to 500 do begin //переворачиваем массив

        buf: =a[i];

   
    a[i]: =a[1001-i];

        a[1001-i]: =buf;

    end;

    for i: =1 to 1000 do write(a[i], ' '); //выводим перевернутый массив

    writeln(); //переносим строку

    for i: =1 to
1000 do begin //выводим нужные нам числа

        buf: =a[i];

        while buf> 9 do buf: =buf div 10; //buf равно старшему разряду

        if buf> a[i] mod 10 then write(a[i], ' '); //если старший
разряд больше младшего, то выводим

    end;

end.

часть, выделенная полужирным, эквивалентна

for i: =1000 downto 1 do read(a[i]); //заполняем массив с конца и тем самым он сразу становится перевернутым.

magazin-71

программа с комментариями, если все равно не понятно спрашивай

для проверки программы рекомендую n поставить где нибудь на 10 потому что вводить 1000 чисел с клавиатуры то еще удавольствие : ))

числа можно вводить по одному или одной строкой через пробел

const


    n = 1000; // длина массива

var

    d : array of integer : = new integer[n]; // объявляем и создаем массив

    a, b : integer;

   

begin

    // вводим числа в массив //

 
  writeln('введите данные в массив: ');

    for var i : = 0 to n-1 do begin

        read(a);

        d[i] : = a;

    end;

    writeln('введен массив d=', d); // выводим массив
на экран

    // переворачиваем данные в массиве                                 //

    // для этого меняем первое с последним, второе с предпоследним    
//

    // и так до середины                                               //

    for var i : = 0 to (n div 2)-1 do begin


        a : = d[i];

        d[i] : = d[n-i-1];

        d[n-i-1] : = a;

    end;

    writeln('переворачиваем массив d=', d); // выводим перевернутый массив

   
write('числа у которых первая цифра больше последней: ');

    // ищем и ввыводим числа с заданным условием //

    for var i : = 0 to n-1 do begin

        // находим чему равна 1 цифра //

        b : =
d[i];

        repeat

            b : = b div 10;

        until b < 10;

        if b > d[i] mod 10 then write(' ', d[i]); // сравниваем первую и последнюю
цифры и ели первая больше то выводим число

    end;

end.

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

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

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

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

karasev17764
lalaland2744
Михаил1121
yulyaderesh
Катерина Телюкин925
Babushkina27
brakebox
Кристина_Memmedov
samoilovcoc
perminovaea
zakupki
annazhurawlewa
Timurr007
Goldglobe
nelli-bi6