Предмет: Информатика, автор: yuhctsu

в одномерном целочисл. массииве числа, у которых первая цифра больше последней паскаль авс


MrMiner1: Я кажется понял, что в задании требуется, но все же можете пожалуйста написать его более четко
ingr: что с числами сделать нужно? я видел несколько похожих заданий и там нужно было произвести разные действия, где то просто вывести где то найти их сумму...
yuhctsu: Просто вводишь ...значные числа и эта команда находит что первая цифра больше последней
MrMiner1: А общее их кол-во каким образом получается? или их ввод заканчивается чем-то?
ingr: в условии об этом нет ни слова. поэтому я сделал генерацию случайным образов в заданных диапазонах. Все написано в ответе.

Ответы

Автор ответа: ingr
0

программа генерирует массив случайной длины от 10 до ста элементов с значениями в диапазоне 10..9999999

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

var

   n : integer;

   d : array of integer;

   

begin

   n := random(10, 100);

   d := new integer[n];

   d := arrRandom(n, 10, 9999999);

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

       var a1, a2 : integer;

       a1 := d[i];

       repeat

           a1 := a1 div 10;

       until a1 < 10;

       a2 := d[i] mod 10;

       if a1 > a2 then writeln(d[i]);

   end;

end.


FunSociety: Так попросили ведь сделать программу в которой 1) вводятся числа с клавы 2)программа выводит числа у которых первое число больше последнего
ingr: кто просил? где просил? про это в условиях нет ни слова.
FunSociety: под заданием в коментах уточнили. ну да ладно
FunSociety: я думаю, можно было проще сделать. задать string, узнать длину строки, сравнить первый символ числа и последний
ingr: проще не всегда лучше. И в комментах не говорилось сколько чисел нужно ввести или как то по другому ограничить ввод. Что бы получить правильный ответ нужно задать правильный вопрос :)
FunSociety: и то верно))
yuhctsu: Вот как выглядит задание :
ПаскальАВС
В массиве от 1..1000, числа указываются вручную нужно:
1)перевернуть массив
2) найти в нем числа, у которых первая цифра больше последней и вывести на экран
П.с. Желательно с комментарием чтобы мне было понятно)
yuhctsu: Извините за запутанность
ingr: сейчас переделаю программу и отвечу в новом задании
Автор ответа: MrMiner1
1

Program n_1;

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

begin

   for i:=1 to 1000 do begin

       read(a[i]);

       buf:=a[i];

       while buf>9 do buf:=buf div 10;

       if buf>a[i] mod 10 then write(a[i], ' ');

   end;

end.

Похожие вопросы
Предмет: ОБЖ, автор: domochka228