Сна языке c#.1. определить количество нечетных цифр случайного 5-ти значного числа.нкретное число вариантов. варианты придумайте 2. колдун должен сделать очередной ход. по нажатию на любую клавишу генерируется случайное число от 1 до 10, и программа печатает, какое заклинание произнёс колдун. например, 1- удар молнии; 2 – огненный шар.
Несколько замечаний:
1. Большое количество комментариев внесено в код исключительно в учебных целях. В реальную программу переносить не рекомендуется - признак нехорошего тона.
2. У вас допущены синтаксические ошибки в двух последних циклах, а точнее - в операторах If, в которых стоит три условия (объединённых and), но нет ключевого слова "then" и последующих инструкций. Исправил.
3. Так же, автор вашей программы построил на мой взгляд нелогичную структуру алгоритма. Переменные min, min2 и min3, как я догадался, должны хранить три минимальных значения массива.
А вот что происходит в вашей конструкции: первый цикл безошибочно находит наименьший элемент и записывает его в min, а последующие два цикла записывают в min2 и min3 первые попавшиеся(начиная с первого) элементы, если они больше min. Таким образом, нет никакой закономерности в том, что попадёт в эти переменные и сложно представить, для какой задачи потребовались бы такие случайности.
Одним из вариантов решения предлагаю изначально записывать в эти три переменные не значение первого элемента массива, а какое-то большое число, которое в массиве нам не встретится (например 100). Тогда цикл будет искать значения меньше 100 и перезаписывать им соответствующую переменную, пока не найдёт самое маленькое значение. В таком случае не очень стабильная переменная j нам так же не нужна, я её вычеркнул.
Вам отсылаю уже с учётом поправок, однако если вам требовалась именно первоначальная версия несмотря на её минусы, просто поправьте синтаксис в последних циклах (41 и 34 строчка на скрине) и пользуйтесь ей.
//1-ая задача
PROGRAM Solution(INPUT, OUTPUT);
VAR
num: INTEGER;
n1, n2, n3: INTEGER;
BEGIN
WRITE('Введите 3-значное число: ');
READ(num);
n1 := (num DIV 100);
n2 := (num MOD 100 MOD 10);
n3 := (num MOD 100 DIV 10);
IF(n1 + n2 + n3) MOD 2 = 0
THEN WRITELN('Чётное')
ELSE WRITELN('Нечётное');
END.
//2-ая задача
PROGRAM Solution(INPUT, OUTPUT);
VAR
num: INTEGER;
n1, n2, n3: INTEGER;
BEGIN
WRITE('Введите 3-значное число: ');
READ(num);
n1 := (num DIV 100);
n2 := (num MOD 100 MOD 10);
n3 := (num MOD 100 DIV 10);
IF(num * num) = (n1 * n1 * n1) + (n2 * n2 * n2) + (n3 * n3 * n3)
THEN WRITELN('Равен')
ELSE WRITELN('Не равен');
END.
//3-я задача
PROGRAM Solution(INPUT, OUTPUT);
VAR
a, b, c: INTEGER;
BEGIN
WRITE('Введите a, b, c: ');
READ(a, b, c);
IF(a = b) OR (b = c) OR (c = a)
THEN WRITELN('Равнобедренный')
ELSE WRITELN('Не равнобедренный');
END.