Написать программу с комментарием в с++ массив содержит четное количество элементов. напишите программу, которая сортируетпо возрастанию отдельно элементы первой и второй половин массива.каждый элемент должен остаться в своей половине. используйте алгоритм быстрой сортировки. пример массив: 53421632 после сортировки: 23456321.
SurName : Array [1..30] of String;
Mark : Array [1..30] of Real;
Cand : Array [1..30] of String;
NPupil, K : Integer;
BEGIN
Write('Сколько всего учеников ? ');
ReadLn(NPupil);
WriteLn('Введите фамилии и оценки учеников :');
For var i := 1 to NPupil do
begin
Write(i, '. Фамилия - ');
ReadLn(SurName[i]);
Write(' Оценка - ');
ReadLn(Mark[i]);
end; WriteLn;
K:=0;
For var i := 1 to NPupil do
If Mark[i]=2 then
begin
K:=K+1;
Cand[K] := SurName[i]
end;
If K=0 then WriteLn('В КЛАССЕ НЕТ ДВОЕЧНИКОВ.')
else
begin
WriteLn('ДВОЕЧНИКИ :');
For var i := 1 to K do WriteLn( i, '. ' , Cand[i]);
end;
END.
2) Здесь уже надо подумать. Из нашего условия видно, что второе число повторяется дважды и там и там. То есть эти два числа (в данном случае 35 и 56) будут иметь одинаковый множитель "второе число". На это и будем опираться. Посмотрим. 35 можно получить из произведения 5 на 7, а число 56 - из произведения 8 на 7. Заметим, что цифра 7 повторяется там и там, то бишь это и есть наша вторая цифра => может оказаться результатом работы автомата.
3) Здесь 32 можно получить, перемножив цифры 8 и 4, а 16 - 2 на 8. Повторяется 8 => может оказаться результатом работы автомата.
4) Делители 35 - это 5 и 7, у 72 - это 9 и 2^3 (8). Здесь уже нет общих делителей. (9 умножить на 2 не получиться, так как это уже будет не цифрой. Только 9 и 8) => не может быть результатом работы автомата.
Более кратко будет так:
1)нет
2)да
3)да
4)нет