Пример 5.

Упорядочить строки вещественной матрицы по убыванию их наибольших элементов без использования вспомогательной матрицы.

(Каждая строка двумерного массива является одномерным массивом. Таким образом, необходимо упорядочить одномерный массив по убыванию столько раз, сколько строчек в двумерном массиве).

 

Блок-схема

 

Текст программы:

 

program Dvumer_mas;

{$APPTYPE CONSOLE}

uses

SysUtils;

const

n=3;

m=4;

type

mas=array [1..n,1..m] of real;

var

i,j,ii:integer;

vspom:real;

a:mas;

begin

for i:=1 to n do

for j:=1 to m do

begin

write('Vvedite element matrici

a[',i,',',j,']: ');

readln(a[i,j]);

end;

writeln('Staraya matrica');

for i:=1 to n do

begin

for j:=1 to m do

write(a[i,j]:10:1,' ');

writeln;

end;

for i:=1 to n do

begin

for ii:=1 to m-1 do

for j:=ii to m do

if a[i,ii]<a[i,j] then

begin

vspom:=a[i,ii];

a[i,ii]:=a[i,j];

a[i,j]:=vspom;

end;

end;

writeln;

writeln('Novaya matrica');

for i:=1 to n do

begin

for j:=1 to m do

write(a[i,j]:10:1,' ');

writeln;

end;

readln;

end.

 

Строки

 

Строка-это последовательность символов, которая при использовании в выражениях заключается в апострофы.

Количество символов можно изменять, дописывая после служебного слова string в квадратные скобки требуемую длину строки. Если не указывать длину, то она будет по умолчанию равна 255.

Формат записи [3]:

 

var Имя_строки : string [Длина];

 

Для строк применимы операции отношения («+», «-», «>», «<», «>=», «<=», «=»). Так как строка – это массив элементов типа char, то к строкам применим оператор поэлементного вырезания символов :

 

Имя_строки [i], где i - номер символа в строке

 

Стандартные подпрограммы обработки строк:

Concat(s1,s2,...,sn:String):String - оператор сложения, также можно использовать оператор «+»;

Length (s:string):integer - определить длину строки в символах;

Copy (str:string; N,L:integer): string - возвращает часть строки str длиной L, начиная с позиции N;

Insert (s0:string; var s: string; N: integer) - в строку s вставляет строку s0, начиная с позиции N;

Delete (var s:string; N,L:integer) - в строке s удаляет L символов, начиная с позиции N;

Pos (s0, s:string): integer - возвращает позицию, начиная с которой строка s0 содержится в строке s или 0, если s0 не содержится в s;

Str (X: integer; var s:string) - преобразует число X в строку s;

Val (s:string; var X: integer; var error:integer); - преобразует строку s в число X. Если преобразовать удалось, error=0, иначе error=номеру первого непреобразуемого символа.

 








Дата добавления: 2015-04-10; просмотров: 696;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.