Const n = 10; var a:array[1..n]of integer; min,imin,i,oldmin:integer; begin //Заполнение массива значениями в диапазоне //от -100 до 100 //и одновременно находим минимальный элемент элемент min:=100; for i:=1 to n do begin a[i]:=random(201)-100; if a[i]<= min then begin min:=a[i]; imin:=i;//Запомним index минимального end; write(a[i]:5); end; writeln;
//В цикле сдвигаем элементы массива //до индекса минимального включительно на //одну позицию вправо for i:=imin downto 2 do a[i]:=a[i-1]; a[1]:=min; //вывод элементов массива for i:=1 to n do write(a[i]:5); end.
Есть много разных решения этой задачи. Например: var n:integer; b:boolean; m:set of 0..9; begin write('n='); readln(n); m:=[]; b:=false; while (n>0) and not b do if n mod 10 in m then b:=true else begin m:=m+[n mod 10]; n:=n div 10; end; if b then writeln('Да') else writeln('Нет'); end.
Пример: n=123432 Да
Вот ещё вариант: var n,m,n1,m1,b:integer; begin write('n='); readln(n); b:=0; while n>0 do begin m:=n mod 10; n:=n div 10; n1:=n; while n1>0 do begin m1:=n1 mod 10; if m=m1 then b:=1; n1:=n1 div 10; end; end; if b=1 then writeln('Да') else writeln('Нет'); end.
var a:array[1..n]of integer;
min,imin,i,oldmin:integer;
begin
//Заполнение массива значениями в диапазоне
//от -100 до 100
//и одновременно находим минимальный элемент элемент
min:=100;
for i:=1 to n do begin
a[i]:=random(201)-100;
if a[i]<= min then
begin
min:=a[i];
imin:=i;//Запомним index минимального
end;
write(a[i]:5);
end;
writeln;
//В цикле сдвигаем элементы массива
//до индекса минимального включительно на
//одну позицию вправо
for i:=imin downto 2 do
a[i]:=a[i-1];
a[1]:=min;
//вывод элементов массива
for i:=1 to n do write(a[i]:5);
end.
var n:integer; b:boolean; m:set of 0..9;
begin
write('n='); readln(n);
m:=[];
b:=false;
while (n>0) and not b do
if n mod 10 in m then b:=true else begin m:=m+[n mod 10]; n:=n div 10; end;
if b then writeln('Да') else writeln('Нет');
end.
Пример:
n=123432
Да
Вот ещё вариант:
var n,m,n1,m1,b:integer;
begin
write('n='); readln(n);
b:=0;
while n>0 do
begin
m:=n mod 10;
n:=n div 10;
n1:=n;
while n1>0 do
begin
m1:=n1 mod 10;
if m=m1 then b:=1;
n1:=n1 div 10;
end;
end;
if b=1 then writeln('Да') else writeln('Нет');
end.