Ввод матрицы В по одному элементу

 

Затем необходимо ввести, например, следующие данные:

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;


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

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

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

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