Тот поступает неправильно. Но это общепринятая версия. Можно писать вирусы и из добрых побуждений. Но чаще всего их пишут из не добрых побуждений.
Например. Самые частопоподающиеся вирусы, это трояны. Это самы распростоненный вирус. Да. Он плохо влияет на компьютер. И его пишут либо от скуки, и желания навредить кому то, либо целенаправленно. Но в любом случае, это плохо.
Хорошие вирусы, как я думаю, то это те вирусы, которые для своего беззаботного существования, удаляют все другие вирусы с компьютера. Да. Если этот вирус не обнаружить, и не удалить. То он нанесет урона во много раз больше.
Но в итоге можно сказать. Что тот кто пишеь вирусы. Поступает плохо, тем, что мешает другим пользователям нормально работать. А в некоторых случаях, и лишает их самого компьютера.
===== С++ 17 =====
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "Количество учеников: ";
cin >> n;
srand(time(NULL));
int m1 = rand() % n + 1, m2 = rand() % n + 1;
while(m2 == m1)
m2 = rand() % n + 1;
cout << m1 << " " << m2;
return 0;
}
Перваму играку нужна перваму сказать число и пастаяна гаварить 10 тагда он выиграет
if M[a, 4+1-a] < M[min, min]
then min := M[a, 4+1-a]
- у тебя в матрице рандомные числа максимум до 10, ты назначаешь их в min и max, а потом эти min и max пытаешься использовать как индексы.
Заведи отдельные переменные для сохранения индексов, например imin и imax и пользуйся ими, например как-то так:
for a := 1 to 4 do
if M[a, 4+1-a] < M[imin, imin]
then begin
min := M[a, 4+1-a];
imin := a;
end
По поводу параметра цикла не уверен, возможно в Pascal.ABC есть какие-то особенности по сравнению с обычным паскалем. Нашел вот такое:
"Описание параметра цикла for в заголовке цикла соблюдает принцип локальности: переменная описывается в том месте, где она впервые понадобилась
begin
for i: integer := 1 to 9 do
write(i,' ');
// Здесь переменная i не доступна!
for var i := 9 downto 1 do // описание с автоопределением типа
write(i,' ');
end."
Какая тема урока ? Скажи попробую сделать