Ввод матрицы В по одному элементу
Затем необходимо ввести, например, следующие данные:
Enter
Enter
-67 Enter
…
(*Вывод матрицы С по строкам,*)
WriteLn (‘матрица с’);
for i:=1 to 3 do
Begin
for j:=1 to 2 do
Write (c[i, j]:3,’ ‘);
WriteLn;
End;
На экране, например, может быть выведено следующее:
Матрица С
5 7
-12 –34
8 2
Примеры программ, где используются вложенные циклы.
Пример. В вещественной матрице А (2, 3) найти сумму целых и произведение элементов с дробной частью.
Var
a: array [1..2, 1..3] of real;
s, p: real;
i, j: integer;
Begin
WriteLn (‘введите а(2,3)’);
for i := 1 to 2 do
for j := 1 to 3 do
Read (a[i, j]);
ReadLn;
s := 0;
p := 1;
for i := 1 to 2 do
for j := 1 to 3 do
if trunc (a[i, j]) = a[i, j] then
s := s+a[i, j]
Else
p := p * a[i, j];
WriteLn (‘Матрица а’);
for i := 1 to 2 do
Begin
for j := 1 to 3 do
Write (a[i, j] :10:3, ‘ _’);
WriteLn;
End;
WriteLn(‘s= ’, s:10:1, ‘ p= ’, p:10:2);
ReadLn;
End.
Пример. В символьной матрице А(4, 5) определить, в какой строке больше всего * и сколько их.
Var
a: array [1...4, 1..5] of char;
max, i, j, k, n : integer;
Begin
WriteLn (‘ввод а(4, 5)’);
for i := 1 to 4 do
for j := 1 to 5 do
ReadLn (a[i, j]);
max := 0; k := 0;
for i := 1 to 4 do
Begin
n := 0;
for j := 1 to 5 do
if a[i, j] = ’*’ then n := n+1;
if max < n then
Begin
max :=n;
k:=i;
End;
End;
WriteLn (‘max= ’,max ,’ строка= ’, k);
WriteLn (‘матрица а’);
for j:=1 to 4 do
WriteLn (a[i]);
end.
Пример. Составить программу умножения матрицы на матрицу (А=В*С).
Var
a, b, c : array [1..3, 1..3] of real;
i, j, k: integer;
Begin
WriteLn (‘Ввод b(3,3)’);
for i := 1 to 3 do
for j := 1 to 3 do
Read (b[i, j]);
ReadLn;
WriteLn (‘Ввод c(3,3)’);
for i := 1 to 3 do
for j := 1 to 3 do
Read (c[i, j]);
ReadLn;
for i := 1 to 3 do
for j := 1 to 3 do
Begin
a[i, j] := 0;
for k := 1 to 3 do
a[i, j] := a[i, j] + b[i, k] * c[k, j];
End;
WriteLn (‘ Матрица а’);
for i := 1 to 3 do
Begin
for j := 1 to 3 do
Write (a[i, j] :5:1 ,’_’);
WriteLn;
End;
End.
Операторы break и continue.
Для гибкого управления циклическими операторами for, while и repeat используются две процедуры:
break – реализует немедленный выход из цикла; управление передается оператору стоящему сразу за концом цикла;
continue – обеспечивает досрочное завершение очередного прохода цикла; управление передается в самый конец циклического оператора.
Методы сортировки
Сортировка – упорядочивание элементов списка, последовательности или массива в соответствии с каким-либо признаком. Если упорядочивается числовая последовательность, то ее можно отсортировать по возрастанию или убыванию, если символьная – то в прямом или обратном алфавитном порядке.
Одной из наиболее часто встречающихся в программировании задач является сортировка массива по возрастанию или убыванию. В общем случае, когда элементы массива представляют собой неупорядоченную последовательность, можно воспользоваться тремя основными алгоритмами сортировки:
– сортировка методом пузырька;
– сортировка методом поиска минимума (максимума);
– сортировка вставками.
Наиболее простой является сортировка методом пузырька.
Дата добавления: 2017-01-29; просмотров: 807;