Var n,i,k:integer;
begin
write('n = ');
readln(n);
k:=0;
case n of
3..9 : k:=1;
10..99 : begin
k:=1;
for i:=10 to n do
if (i mod 10 = 3)or(i div 10 = 3) then k:=k+1;
end;
100..999:begin
k:=1;
for i:=10 to 99 do
if (i mod 10 = 3)or(i div 10 = 3) then k:=k+1;
for i:=100 to n do
if (i div 100=3)or(i div 10 mod 10=3)or(i mod 10=3) then k:=k+1;
end;
end;
writeln('k = ',k);
end.
Пример:
n = 120
k = 21
Во вложении архив с проектом программы. Сайт не позволяет загружать файлы архивов, поэтому изменил расширение.
1. Сохраните файл вложения на диск
2. Измените расширение файла с .pdf на .7z
3. Распакуйте архив, должно быть 4 файла:
- supermarket.dpr
- supermarket.exe
- unit1.pas
- unit1.dfm
Проект сделан на Delphi 2007, открывать нужно dpr файл, остальное создается автоматически.
<span><span>Home – перемещение курсора ввода текста в начало строки (на неполных клавиатурах тот же эффект достигается через комбинацию клавиш fn + ←).</span><span>Home – перемещение курсора ввода текста в начало строки (на неполных клавиатурах тот же эффект достигается через комбинацию клавиш fn + ←)</span><span>End – перемещение курсора ввода текста в конец строки (на неполных клавиатурах тот же эффект достигается через комбинацию клавиш fn + →).</span><span>←↑→↓ - клавиши перемещения курсора ввода по тексту.</span><span>Ctrl + → - перемещение курсора на одно слово вправо.</span><span>Ctrl + ← - перемещение курсора на одно слово влево.</span><span>Page Up – на экранную страницу вверх.</span><span>Page Down – на экранную страницу вниз.</span><span>Ctrl + Page Up – на страницу вверх.</span><span>Ctrl + Page Down – на страницу вниз.</span><span>Ctrl + Home – переход в начало текста / документа.</span><span>Ctrl + End – переход в конец текста / документа.</span><span>Shift + F5 – переход к месту недавнего редактирования текста.</span></span>
<span>uses crt;
const nmax=100;
var x:array[1..nmax] of integer;
n,m,i,j,k,a,p:integer;
begin
clrscr;
randomize;
repeat
write('Размер массива от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
writeln('Исходный массив:');
for i:=1 to n do
begin
x[i]:=random(10);
write(x[i]:4);
end;
writeln;
i:=1;
m:=n;
while i<n-1 do
begin
k:=1;
a:=x[i];
for j:=n downto i+1 do
if x[j]=a then k:=k+1;
if k>2 then
begin
j:=i;
while j<=n do
if x[j]=a then
begin
if j=n then n:=n-1
else
begin
for p:=j to n-1 do
x[p]:=x[p+1];
n:=n-1;
end;
end
else j:=j+1;
end
else i:=i+1;
end;
if n=0 then
begin
exit
end;
if n=m then
write('Все элементы встречены не более 2 раз и не удалены')
else
begin
for i:=1 to n do
write(x[i]:4);
for i:=1 to n-1 do
for j:=i+1 to n do
if(i mod 2=0)and(j mod 2=0) and(x[i]<x[j]) then
begin
a:=x[i];
x[i]:=x[j];
x[j]:=a;
end;
for i:=1 to n do
write(x[i]:4);
end;</span>