Вывести на экран все трехзначные числа, которые можно получить из цифр данного числа - Pascal ABC
Формулировка задачи:
Дано трехзначное число. Вывести на экран все трехзначные числа, которые можно получить из цифр данного числа
Если вводим 221 или повторяющиеся цифры возникает ошибка, мысль была такова что создать второй массив в который бы заносились варианты сравнивались если повторяются то пропускать.
Решение задачи: «Вывести на экран все трехзначные числа, которые можно получить из цифр данного числа»
textual
Листинг программы
program z3; label x; var h: array[1..3]of integer; g: array[1..8]of string; a, i, j, k, q, w, e, ind: integer; st, st1: string; begin Write('Введите трехзначное число: ');Readln(a); if (a < 100) or (a > 999) then begin Writeln('Некореткное число!'); goto x; end; ind := 1; h[1] := a div 100; h[2] := a div 10 mod 10; h[3] := a mod 10; if (h[1] = h[2]) or (h[1] = h[3]) or (h[2] = h[3]) then begin for i := 1 to 3 do begin for j := 1 to 3 do begin for k := 1 to 3 do begin st := inttostr(h[i]) + inttostr(h[j]) + inttostr(h[k]); e := 0; for q := 1 to 8 do if g[q] = st then inc(e); if e = 0 then begin g[ind] := st; inc(ind); inc(e); end; end; end; end; end else if (h[1] <> h[2]) and (h[1] <> h[3]) and (h[2] <> h[3]) then for i := 1 to 3 do begin for j := 1 to 3 do begin for k := 1 to 3 do begin write(h[i], h[j], h[k], ' '); end; writeln; end; writeln; end; for i := 1 to 8 do Write(g[i], ' '); x: end.
Объяснение кода листинга программы
Список действий в коде:
- Пользователю предлагается ввести трехзначное число.
- Если введенное число не является трехзначным, выводится сообщение об ошибке и происходит переход к метке
x
. - Индексы массива
h
заполняются цифрами введенного числа. - Если все цифры введенного числа одинаковы, происходит поиск всех возможных комбинаций из этих цифр и добавление их в массив
g
. - Если цифры введенного числа различны, происходит вывод всех возможных комбинаций цифр на экран.
- После этого выводится все числа из массива
g
, которые были сгенерированы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д