ПаскальАВС В массиве от 1..1000, числа указываются вручную нужно:1)перевернуть массив2)
ПаскальАВС
В массиве от 1..1000, числа указываются вручную нужно:
1)перевернуть массив
2) отыскать в нем числа, у которых 1-ая цифра больше заключительной и вывести на экран
П.с. Желательно с комментарием чтоб мне было понятно)
программка с комментами, если все равно не понятно спрашивай
для проверки программки советую 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); // выводим массив на экран
// переворачиваем данные в массиве //
// для этого меняем 1-ое с заключительным, 2-ое с предпоследним //
// и так до середины //
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 lt; 10;
if b gt; d[i] mod 10 then write(' ', d[i]); // сопоставляем первую и последнюю числа и ели 1-ая больше то выводим число
end;
end.
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 bufgt;9 do buf:=buf div 10; //buf одинаково старшему уровню
if bufgt;a[i] mod 10 then write(a[i], ' '); //Если старший разряд больше младшего, то выводим
end;
end.
_______________________________________
Часть, выделенная полужирным, эквивалентна
for i:=1000 downto 1 do read(a[i]); //Заполняем массив с конца и тем самым он сразу становится перевернутым.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.