program p_1; var a,b: string; i,k: integer; begin k: =0; write('введите слово '); readln(a); write('введите символ '); readln(b); for i: =1 to length(a) do begin if a[i]=b then k: =k+1; if a[i]=b then writeln(i,' '); end; if k> =1 then writeln('да, встречается ',k,' раз, на позиции указанных сверху в столбик ')else writeln('нет'); end.
1. записать числа встолбик, так чтобы цифры самого младшего разряда чисел (единицы) расположились одна под другой (на одной вертикали).
2. вычесть цифры младшего разряда. примечание - если вычитаемое больше уменьшаемого, то следует занять единицу из старшего разряда и после этого вычесть.
3. записать результат под горизонтальной чертой на вертикали единиц.
4. повторить пункты 2 и 3 для всех разрядов с учетом переносов из старших разрядов.
Ответ дал: Гость
var n: integer;
procedure down(var n: integer); var a: array[1..20] of integer; i, j, s, p: integer; begin i : = 0; while n > 0 do begin i : = i + 1; a[i] : = n mod 10; n : = n div 10; end; p : = i; for i : = 1 to p - 1 do for j : = i + 1 to p do if a[i] < a[j] then begin s : = a[i]; a[i] : = a[j]; a[j] : = s; end; j : = 1; for i : = p downto 1 do begin s : = s + a[i] * j; j : = j * 10; end; n : = s; end;
begin readln(n); down(n); writeln(n); end.
Другие вопросы по: Информатика
Похожие вопросы
Знаешь правильный ответ?
Составьте графический алгоритм s=n^2+(n+1)+)^2 где n> 0...
Популярные вопросы