Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Пояснения к программе. Суммы строк матрицы формируются в массиве S





Суммы строк матрицы формируются в массиве S. Затем выполняется сортировка массива сумм строк: отыскивается индекс K максимального элемента и его место занимает последний элемент (его индекс — L), после чего меняются местами K -ая и L -ая строки в исходном массиве A, затем этот метод применяется к оставшимся строкам, кроме последней (она уже находится на своем месте) и т.д.

program SORT (input, output);

Type

Matrix = Array [1..10, 1..10] of Real;

Var

i, j, K, L: Integer; {параметры циклов и индексы}

N: Integer; {порядок матрицы}

A: Matrix; {исходная матрица}

S: Array [1..10] of Real; {суммы элементов строк}

R: Real; {промежуточная переменная}

Begin

Repeat

Writeln ('Введите порядок матрицы N, N <= 10');

ReadLn (N)

Until N in [2..10];

Writeln ('Введите матрицу по строкам');

for i:= 1 to N do

for j:= 1 to N do

Read (A[i,j]);

{Вывод исходной матрицы}

Writeln ('Исходная матрица A');

for i:= 1 to N do

Begin

for j:= 1 to N do

Write (A[i,j]:8:1);

Writeln

end;

{подсчет сумм элементов строк }

for i:= 1 to N do

Begin

S[i]:= 0;

for j:= 1 to N do

S[i]:= S[i] + A[i,j]

end;

{сравнение сумм и перестановка строк}

for i:= 1 to N-1 do

Begin

K:= 1; L:= N - i + 1;

for j:= 2 to L do

if S[ j ] > S[ K ] then

K:= j;

{замена суммы переставляемой строки}

S[ K ]:= S[ L ];

{перестановка строк через буферную переменную}

for j:= 1 to N do

Begin

R:= A[K,j];

A[K,j]:= A[L,j];

A[L,j]:= R

End

end;

{Вывод результирующей матрицы}

Writeln ('Отсортированная матрица');

for i:= 1 to N do

Begin

for j:= 1 to N do

Write (A[i,j]:8:1);

Writeln

End

End.

3.12. Получите целочисленную матрицу А размером n  х  m, для которой а ij =
i + 2 j.

3.13. Пусть дана вещественная матрица размером n  х  m, в которой есть ненулевые элементы. Получите новую матрицу путем деления всех элементов дан­ной матрицы на ее наибольший по модулю элемент.

3.14. Все элементы с наибольшим значением в данной целочисленной квадратной матрице порядка n замените нулями, если эти элементы не принадлежат первой или последней строкам.

3.15. Пусть дана вещественная квадратная матрица порядка n. Найдите среднее арифметическое наибольшего и наименьшего значений ее элементов, расположен­ных ниже главной диагонали.

3.16. В данной вещественной матрице размером n х m найдите сумму эле­ментов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.

3.17. В данной вещественной матрице размером n  х  m поменяйте местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагается, что эти элементы единственные.

3.18. Пусть дана вещественная матрица размером n  х  m, все элементы которой раз­личны. В каждой строке выберите элемент с наименьшим значением, затем среди этих чисел выберите наибольшее. Укажите индексы найденного эле­мента.

3.19. Пусть дано натуральное число n и целочисленная квадратная матрица по­рядка n. Получите b1 , b2 ,..., bn, где bi это:

а) значение первого по порядку положительного элемента i -й строки (если таких элементов нет, то принять bi = 1);

б) сумма элементов, расположенных за первым отрицательным элементом в i - й строке (если все элементы строки неотрицательны или отрицатель­ный элемент на последнем месте, то принять bi = 100);

с) сумма элементов, предшествующих последнему отрицательному элементу i -й строки (если все элементы строки неотрицательны, то принять bi = -1).

3.20. Пусть дана целочисленная матрица размером n  х  m. Найдите номера строк:

а) все элементы которых — нули;

б) элементы в каждой из которых одинаковы;

в) все элементы которых четны;

г) элементы каждой из которых образуют монотонную последовательность (монотонно убывающую или монотонно возрастающую);

д) элементы которых образуют симметричные последовательности.

3.21. Пусть даны натуральное число n, вещественное число х, вещественная мат­рица размером n х m. Получите последо­вательность b1 , b2 ,..., bn из нулей и еди­ниц, где bi = 1, если элементы i -й строки матрицы не превосходят х, и bi = 0 в противном случае.

3.22. Пусть дана вещественная квадратная матрица порядка n. В строках с отри­цательным элементом на главной диагонали найдите:

а) сумму элементов;

б) наибольший из элементов.

3.23. Пусть дана вещественная квадратная матрица порядка n. Относительно эле­ментов, расположенных в строках, начинающихся с отрицательного элемен­та, найдите суммы тех из них, которые расположены соответственно ниже, выше и на главной диагонали.

3.24. Пусть дана вещественная квадратная матрица порядка n. Получите целочи­сленную квадратную матрицу того же порядка, в которой элемент равен единице, если соответствующий ему элемент исходной матрицы больше элемента, расположенного в его строке на главной диагонали, и равен нулю — в противном случае.

3.25. Пусть дана вещественная квадратная матрица порядка n. Получите
х1 хп + х2 хп-1 +... + хn х1 , где хi наибольшее значение элементов i - й строки данной матрицы.

3.26. Пусть даны натуральное число n>2 и вещественная квадратная матрица порядка n. Постройте последовательность b1 , b2 ,..., bn, из нулей и единиц, в кото­рой bi = 1 тогда и только тогда, когда:

а) элементы i -й строки матрицы образуют возрастающую последователь­ность;

б) элементы i - й строки матрицы образуют возрастающую или убывающую последовательность.

3.27. Пусть дана целочисленная квадратная матрица порядка n. Выясните, име­ются ли в матрице ненулевые элементы, и если имеются, то укажите индексы:

а) первого из нулевых элементов;

б) всех нулевых элементов.

3.28. Пусть даны натуральное число n и вещественная квадратная матрица по­рядка n. Постройте последовательность b1 , b2 ,..., bn, из нулей и единиц, в которой bi = 1 тогда и только тогда, когда в i -й строке матрицы есть хотя бы один от­рицательный элемент.

3.29. Пусть даны натуральные числа n и m, вещественное число x, вещественная матрица размером n  х  m. Получите значение
b1xn-1 + b2xn-2 +... + bn, где bk — пер­вый по порядку положительный элемент в k - й строке матрицы (k = 1,..., п ); если в k - й строке нет положительных элементов, то bk = 0,5.

3.30. Пусть дана вещественная квадратная матрица порядка n. Вычислите сумму тех из ее элементов, расположенных на главной диагонали и выше ее, кото­рые превосходят по величине все элементы, расположенные ниже главной диагонали. Если на главной диагонали и выше ее нет элементов с указанным свойством, то ответом должно служить сообщение об этом.

3.31. Будем называть соседями элемента с индексами i, j некоторой матрицы та­кие элементы, соответствующие индексы которых отличаются от i, j не более чем на единицу. Для данной целочисленной матрицы А размером
n  х  m найдите матрицу В, состоящую из нулей и единиц, элемент которой bij равен единице, когда:

а) все соседи аij меньше самого элемента аij;

б) все соседи аij и сам элемент аij равны нулю;

в) среди соседей аij есть не менее двух элементов, совпадающих с аij.

3.32. Используя следующий фрагмент программы, заполните массив А по правилу

Aij = xij;

Var

А: Array [1..6, 1..9] of Real;

X: Array [1..9] of Real;

3.33. Используя следующий фрагмент программы, получите массив В из массива А удалением n строки и k -го столбца:

Var

А: Array [1..5, 1..7] of Real;

В: Array [1..4, 1..6] of Real;

n, k: 1..7;

3.34. Используя следующий фрагмент программы, из массива А получите массив В, присвоив его k -му элементу значение true, если выполнено указанное ниже условие, в противном случае присвойте значение false:

Var А: Array [1..n, 1..n] of Real;

В: Array [1..n] of Boolean;

а) все элементы k -го столбца массива А нулевые;

б) элементы k -й строки массива А упорядочены по убыванию;

в) k -я строка массива А симметрична.

3.35. Определите количество «особых» элементов массива, считая элемент «особым», если выполняются перечисленные ниже условия:

а) элемент больше суммы остальных элементов своего столбца;

б) в строке слева от элемента находятся элементы, меньшие его, а справа — большие.

3.36. Пусть дана вещественная матрица размером n  х  m. Упорядочьте ее строки по неубыванию:

а) первых элементов строк;

б) суммы элементов строк;

в) наибольших элементов строк.

3.37. Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером n  х  m напечатайте индексы всех ее седловых точек.

3.38. Пусть дана вещественная квадратная матрица порядка n, все элементы которой различны. Найдите скалярное произведение строки с наибольшим элементом матрицы и столбца с наименьшим элементом.

3.39. Определите, является ли заданная целая квадратная матрица n -го порядка ортонормированной, то есть такой, в которой скалярное произведение каж­дой пары различных строк равно 0, а скалярное произведение каждой стро­ки на себя равно 1.

3.40. По заданным коэффициентам а11, а12,...,а1n,..., а22 , а23,..., а2n,...,аnn, (аii ≠ 0) и правым частям b1 , b2 ,..., bn найдите решение «треугольной» системы линейных уравнений:

а11 x1 + а12  x2 + а13  x3 +... + а1n xn = b1 ,

а22  x2 + а23  x3 +... + а2n xn = b2 ,

а33  x3 +... + а3n xn = b3 ,

…,

аnn xn = bn

 

Date: 2015-07-23; view: 1372; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию