1 семестр сессия / Bilet11
.docБилет №11. Структурный тип строка. Строка, как специальная форма массива.
В Турбо Паскале имеется семейство строковых типов, рассматриваемых как специальная форма массива, а именно одномерный массив символов. Это семейство соответствует по умолчанию следующему описанию:
type string[ <m >] = array [0..m] of char;
где: <m >- максимальная длина строки (число диапазона 0 .. 255).
string- стандартное имя строкового типа, являющееся ключевым словом.
Строки длины до 255 соответствуют типу string (без указания длины строки).
Нулевая позиция строки является специальной позицией, в которой хранится текущая длина строки (код ASCII, представляющий длину строки). Эта позиция автоматически корректируется при операциях над строками.
Доступ к компоненту строки (символу строки) осуществляется также как к элементу массива, т.е. по индексу (индексному выражению).
Например: st[J+1] {Cимвол в позиции J+1 строки st}
Разрешен доступ, в том числе и к нулевой позиции строки, так что, например ord(st[0]) - длина строки st .
Замечание Изменение содержимого нулевой позиции строки оператором присваивания эквивалентно изменению текущей длины строки и может привести к отсечению части строки или присоединению к строке дополнительных пробелов.
Задача 4.2.6(11)
program Project11;
type mas=array[1..3,1..5] of Integer;
var a:mas;
i,j,l1,l2,d1,d2,s:Integer;
procedure p(x:mas; e:Integer; var k:integer);
var j,min:Integer;
begin
min:=x[e,1];
k:=1;
for j:=2 to 5 do
if x[e,j]<min then
begin
min:=x[e,j];
k:=j;
end;
end;
begin
for i:=1 to 3 do
for j:=1 to 5 do
read(a[i,j]);
p(a,2,d1);
p(a,3,d2);
s:=a[2,d1];
a[2,d1]:=a[3,d2];
a[3,d2]:=s;
Writeln;
for i:=1 to 3 do begin
for j:=1 to 5 do begin
write(a[i,j],' ');
end; writeln; end;
Readln;
Readln;
end.