звезда0ютуба
12.08.2021 06:56

Сделать анализ задачи!
Задача: Переделать так, чтобы числа от 10 до 6555 сортировались по убыванию и записывались в начало массива.

type mass=array[1..200] of integer;
//перестановка чисел от 10 до 6555 вперед
procedure Forvard(var b:mass;m:integer;var k:integer);
var i,j,x:integer;
begin
k:=0;
for i:=1 to m do
if (b[i]>=10)and(b[i]<=6555)then
begin
k:=k+1;
x:=b[i];
for j:=i downto k+1 do
b[j]:=b[j-1];
b[k]:=x;
end;
end;
//быстрая сортировка первых К чисел
procedure QuickSort(var b:mass; first, last: integer);
var f, l, mid, count: integer;
begin
f:=first;
l:=last;
mid:=b[(f+l) div 2]; {вычисление опорного элемента}
repeat
while b[f]>mid do inc(f);
while b[l] if f<=l then {перестановка элементов}
begin
count:=b[f];
b[f]:=b[l];
b[l]:=count;
inc(f);
dec(l);
end;
until f>l;
if first if f end;
var a:mass;
n,k,i:integer;
begin
randomize;
repeat
write('Введите размер массива от 10 до 200 n=');
readln(n);
until n in [10..200];
writeln('Исходный масссив');
for i:=1 to n do
begin
a[i]:=random(7000);
write(a[i]:5);
end;
writeln;
Forvard(a,n,k);
QuickSort(a,1,k);
writeln('Отсортированный массив');
for i:=1 to n do
write(a[i]:5);
end.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Mrkronomax
18.09.2022 04:48
Таких систем исчисления всего две.  Основание а = 9 и основание а =367, но в системе с основанием 367 проблематично записывать числа (символов не хватит).
Если число 3306(10) в системе исчисления с основанием а заканчивается цифрой 3, то тогда
число 3303 делится на основание системы а.
Отсюда алгоритм поиска.  Находим все делители числа 3303.
3303 = 3*1101 = 3*3*367.  Число 367 - простое. Поэтому основаниями системы исчисления 
могут быть только 3, 9, 367.  Основание =3 не подходит, так как по условию число должно заканчиваться на 3  -> основание больше 3.  Остаются 9, 367.
0,0(0 оценок)
Ответ:
Apsalikovat
30.01.2022 22:39
Задание №1.

k = int(input('Начало диапазона '))
n = int(input('Конец диапазона '))
a = [0] * n # создание массива с n количеством элементов
for i in range(n): # заполнение массива
   a[i] = i
a[1] = 0

m = 2 # замена на 0 начинается с 3-го элемента

while m < n: # перебор всех элементов до заданного числа
  if a[m] != 0:
     j = m * 2
    while j < n:
        a[j] = 0
        j = j + m
       m += 1

# вывод простых чисел на экран
b = []
for i in a:
      if a[i] != 0 and i >= k:
      b.append(a[i])

del a
print(b)

Задание №2

count = 0
for i in range(13):
    for j in range(11):
        for k in range(9):
            if 185 == i*15+j*17+k*21:
                count += 1
                print(i,j,k)
print('Всего

Задание №3

x = int(input())
print('\n'.join(
str(n) for n in range(x+1)
if all(x != 0 and n % x == 0 for x in map(int, str(n
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота