• ПаскальАВС
    В массиве от 1..1000, числа указываются вручную нужно:
    1)перевернуть массив
    2) найти в нем числа, у которых первая цифра больше последней и вывести на экран
    П.с. Желательно с комментарием чтобы мне было понятно)

Ответы 12

  • Пишет причем на сл. строке после begin Ошибка: ожидался индентификатор, но «» обнаружено
    • Автор:

      karlaudku
    • 6 лет назад
    • 0
  • Проверил на windows7 PascalABC, ошибок нет. Отправьте строку с ошибкой.
    • Автор:

      tinkye71a
    • 6 лет назад
    • 0
  • Var a:array [1..1000] of integer; i, buf: integer;Begin (Ставит мне тут ошибку) For i:=1 to 1000 do read(a[i])
  • Можете пожалуйста написать то, с помощью чего вы проверяете работоспособность программы. Я даже вручную не смог воспроизвести данную ошибку.
    • Автор:

      jaqueline
    • 6 лет назад
    • 0
  • https://www.jdoodle.com/execute-pascal-onlineЭто один из онлайн-компиляторов. Можете проверить здесь.
  • К создателю программы)
  • где??? в моей программе вы можете ввести ровно нужное количество чисел. Если ввести в строку больше чем нужно то из буфера прочитается только нужное количество
    • Автор:

      arnold90
    • 6 лет назад
    • 0
  • Попробую
    • Автор:

      enzoq9uk
    • 6 лет назад
    • 0
  • Спасибо вам всем большое))
  • пожалйста
  • 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]); //Заполняем массив с конца и тем самым он сразу становится перевернутым.

    • Автор:

      miavgi4
    • 6 лет назад
    • 0
  • программа с комментариями, если все равно не понятно спрашивай

    для проверки программы рекомендую 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.

    • Автор:

      amya
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years