Нужно вчленить код одной программы в другую - Free Pascal
Формулировка задачи:
МНЕ НУЖНО ЧТОБЫ ДАННАЯ ПРЕОБРАЗОВАННАЯ СТРОКА ИЗ "ПРОГРАММЫ 2" БЫЛА НЕ ТОЛЬКО НАПИСАНА В ОКНЕ ПРОГРАММЫ НО И СОХРАНЯЛАСЬ АВТОМАТИЧЕСКИ В СОЗДАВАЕМЫХ ФАЙЛАХ ИЗ "ПРОГРАММЫ 1"
"Программа 1" которая создает два файла по указанному маршрутуprogram example3; begin ClrScr; Writeln ('Vvedite stroku iz bukv i cifr'); Readln(S); Assign (ftext,S);; if ioResult=0 then Rewrite(ftext) else begin Writeln ('File not found!!'); Halt; end; for i:=1 to 10 do Writeln(ftext,i); Close(ftext); Writeln ('Vvedite stroku iz bukv i cifr'); Readln(S); Assign(fbin,S);; if IOResult=0 then Rewrite(fbin) else begin Writeln ('File not found!!'); Halt; end; for j:=1 to 10 do Write (fbin,j); Close(fbin); Writeln ('Press Enter'); Readln; end.
var k:string; m:char; begin writeln('Введите строку, содержащую цифры'); readln(k); for var u:=length(k)downto 1 do if s[u]in['0'..'9'] then begin m:=k[u]; delete(k,u,1); if m in ['1'..'9'] then for var y:=1 to ord(m)-48 do insert(' ',k,u); end; write(k) end.
Решение задачи: «Нужно вчленить код одной программы в другую»
textual
Листинг программы
for var u:=Length(k) downto 1 do if k[u]='0' then Delete(k,u,1) else if k[u] in ['1'..'9'] then begin k[u]:=' '; Insert(' '*(Ord(k[u])-Ord('0')-1),k,u+1); end;
Объяснение кода листинга программы
- В цикле
for
перебираются все элементы массиваk
в обратном порядке, начиная с последнего элемента. - Для каждого элемента
u
проверяется его значение. - Если значение
u
равно '0', то вызывается функцияDelete
, которая удаляет этот элемент из массиваk
. - Если значение
u
принадлежит диапазону от '1' до '9', то значениеu
заменяется на пробел, а в следующую ячейку массиваk
вставляется пробел, количество которых определяется как разница между порядковым номером элемента и его числовым значением, сдвинутым на единицу влево. - В итоге, в массиве
k
остаются только пробелы и числа от '1' до '9', разделенные пробелами.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д