Var a,b,c,min,max,s: integer;begin write('Ведите числo а '); readln(a); min:=a; max:=a; write('Ведите числo b '); readln(b); if b<min then min:=b; if b>max then max:=b; write('Ведите числo c '); readln(c); if c<min then min:=c; if c>max then max:=c; writeln('Минимальное - ',min); end.
Создается, так сказать, массив, длину которого вводите вы. Затем вы его заполняете. В цикле происходит сортировка чисел массива от меньшего к большему(если число слева больше числа справа, то поменять их местами) и выводится на экран первые два числа, то есть 2 наименьших числа массива.
Однако тупо реализовано создание массива. Неважно сколько вы впишете длину массива(<100), он все равно будет занимать память на 100 символов, а это очень глупо. Для создания динамических массивов(массивы , размеры которых РЕАЛЬНО указываете вы сами) используйте указатели.
вот программа ее можно обернуть функцию тогда будет более функционально а так тут просто цикл и работа со строками я тебе два варианта дал сам выберишь какой лучше
Var s:string;
i:integer;
begin
readln(s);
write(s[1] + s[3] + s[2]);
end;
Решение, который дал другой пользователь, слишком сложное. Я могу предложить альтернативный вариант, который будет гораздо проще в понимании.
Var a,s,s1:integer;
Begin
write('Введите число -> ');
readln(a);
s1:=1;
while a>0 do
begin
s:=s+(a mod 10);
s1:=s1*(a mod 10);
a:=a div 10;
end;
writeln('Сумма цифр числа равна -> ',s);
writeln('Произведение цифр числа равно -> ',s1);
End.