Нахождение сумм элементов строк матрицы — КиберПедия 

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Нахождение сумм элементов строк матрицы

2023-01-16 19
Нахождение сумм элементов строк матрицы 0.00 из 5.00 0 оценок
Заказать работу

Рассмотрим задачу нахождение сумм элементов строк матрицы на примере задачи подсчета итогов футбольного чемпионата.

Пусть задана таблица результатов игр 5 команд футбольного чемпионата размера 5х5. На диагонали таблицы стоят значения 0, другие элементы таблицы равны 0, 1 или 2, где 0 баллов соответствует проигрышу команды в игре, 1 балл – ничьей, 2 балла – выигрышу. Определить сумму баллов каждой команды по результатам чемпионата.

Легко заметить, что для построения матрицы R результатов игр достаточно ввести лишь стоящую выше (или ниже) главной диагонали половину матрицы, т.к. результаты остальных игр могут быть рассчитаны из известного соотношения: если, например, первая команда обыграла вторую, то элемент R[1,2]=2, а элемент R[2,1]=2-R[1,2]=0; аналогично, если вторая команда сыграла в ничью с третьей, то R[2,3]=1, R[3,2]=2-R[2,3]=1. Таким образом, нетрудно получить вид взаимосвязи элементов матрицы: R[i,j]+R[j,i]=2, где i и j меняются от 1 до 5 (кроме элементов главной диагонали). На главной диагонали матрицы R по условию задачи всегда стоят числа 0.

Перейдем к написанию программы решения поставленной задачи.

Program foot;

Type tab=array[1..5,1..5] of integer;

Var r:tab;

  i,j,s:integer;

begin

{ввод стоящих выше диагонали элементов матрицы}

for i:=1 to 4 do

for j:=i+1 to 5 do

begin

writeln (‘Введите результат игры ‘,i,’–й команды с ’,j,’ –й: 0, 1 или 2 балла’);

readln(r[i,j]);

end;

{заполнение стоящих на диагонали элементов нулями}

for i:=1 to 5 do r[i,i]:=0;

{вычисление стоящих ниже диагонали элементов матрицы}

for i:=2 to 5 do

for j:=1 to i-1 do r[i,j]:=2-r[j,i];

{вывод на экран матрицы результатов игр}

writeln(‘Таблица чемпионата’);

for i:=1 to 5 do

begin

for j:=1 to 5 do write(r[i,j]:4);

writeln;

end;

{вычисление сумм элементов строк матрицы}

for i:=1 to 5 do

begin

s:=0;

for j:=1 to 5 do s:=s+r[i,j];

writeln(i,‘-ая команда набрала ’,s:3,’ очков’);

end;

end.

6 Методические рекомендации к выполнению работы

6.1 При выполнении задания воспользоваться алгоритмами решения стандартных задач по теме «Одномерные массивы», изложенными в п.5.3.1-5.3.4.

6.2 Провести численные расчеты для вектора (4, 7, -9, 5, 1, -5, 10, 7). Проанализировать правильность полученных результатов.

6.3 При решении задачи воспользоваться примерами программ в п.5.5.1-5.5.3 и алгоритмами п.5.3.1-5.3.4.

Пример вывода на экран двумерного массива в виде матрицы размерности 3х4 приводится в следующем фрагменте программы:

….

for i:=1 to 3 do

begin

for j:=1 to 4 do write(а[i,j]:5);

writeln;

end;

6.4 Провести вычисления для матрицы

 1 2 3

А=  -5 8 –10

       -5 6 -3

.

Проанализировать полученные результаты.

7 Контрольные вопросы

7.1 Что понимают под массивом данных?

7.2 Что называют размерностью массива?

7.3 Что понимают под индексом элемента массива?

7.4 Какой массив называется одномерным?

7.5 Приведите примеры одномерных массивов.

7.6 Как описываются одномерные массивы на языке PASCAL?

7.7 Как задается диапазон изменения индексов массива?

7.8 Как обозначаются индексы массивов на языке PASCAL?

7.9 Какие стандартные алгоритмы по работе с одномерными массивами Вы знаете?

7.10 Поясните понятия двумерного массива, матрицы.

7.11 Что обозначают индексы матрицы?

7.12 Сколько элементов в матрице из 7 строк и 9 столбцов?

7.13 Дайте понятие квадратной матрицы, диагоналей квадратной матрицы.

7.14 Приведите пример описания двумерных массивов на языке PASCAL.

7.15 Поясните порядок использования вложенных циклов при вводе элементов двумерного массива.

Приложение А

Варианты заданий на тему «Одномерные массивы»

 

1. Найти среднее арифметическое всех элементов массива.

2. Найти наименьший элемент в массиве.

3. Найти количество положительных элементов массива.

4. Найти количество отрицательных элементов массива.

5. Определить, сколько раз встречается число 7 среди элементов массива.

6. Определить, сколько элементов массива меньше, чем число 6.

7. Определить, сколько элементов массива больше, чем число 3.

8. Найти сумму всех неотрицательных элементов массива.

9. Найти наименьшее из чисел а1, 2а2, 3а3,…, 8а8.

10. Найти наибольшее из чисел 2а1, 3а2, 4а3,…, 9а8.

11. Найти сумму а1+2а2+3а3+…+8а8.

12. Найти наименьший по модулю элемент массива.

13. Найти разность между наибольшим и наименьшим элементами массива.

14. Отсортировать массив в порядке убывания элементов.

15. Найти произведение отрицательных элементов массива.

16. Найти сумму всех элементов массива, имеющих четные индексы.

17. Найти наибольший из элементов массива, имеющих нечетные индексы.

18. Найти среднее арифметическое всех положительных элементов массива.

19. Найти среднее арифметическое всех отрицательных элементов массива.

20. Найти сумму элементов массива, превышающих число 5.

Приложение В

Варианты заданий на тему «Двумерные массивы»

 

1. Найти наибольший элемент в третьем столбце матрицы.

2. Найти сумму всех элементов матрицы.

3. Найти сумму всех положительных элементов матрицы.

4. Найти наименьший элемент в первой строке матрицы.

5. Найти среднее арифметическое значение элементов второго столбца матрицы.

6. Найти произведение элементов третьего столбца матрицы.

7. Найти сумму элементов первой и третьей строк матрицы.

8. Определить, сколько раз встречается число 5 среди элементов всей матрицы.

9. Определить, сколько раз встречается число 1 среди элементов третьей строки матрицы.

10. Найти количество отрицательных элементов в матрице.

11. Найти количество отрицательных элементов в первой строке матрицы.

12. Найти количество неотрицательных элементов во втором столбце матрицы.

13. Найти сумму элементов второй строки матрицы.

14. Найти наибольший элемент в матрице.

15. Найти наименьший элемент в матрице.

16. Найти наименьший по модулю элемент в первой строке матрицы.

17. Найти среднее арифметическое значение всех отрицательных элементов матрицы.

18. Определить, сколько элементов матрицы превышает число 2.

19. Расположить все элементы матрицы в строку в порядке возрастания.

20. Расположить все элементы матрицы в строку в порядке убывания.

 

Приложение С

  1. Пусть А - двумерный массив целых чисел размерности N*N. Составить программу, которая находит номер максимального элемента массива и меняет максимальный элемент с первым.
  2. Пусть А - двумерный массив целых чисел размерности N*N. Составить программу, которая обнуляет все положительные числа.
  3. Пусть А - двумерный массив целых чисел размерности N*N. Составить программу, которая переносит в начало массива все положительные элементы, потом все нули и затем отрицательные.
  4. Пусть А - двумерный массив целых чисел размерности N*N. Составить программу, которая обнуляет все положительные элементы, стоящие перед максимальным.
  5. Пусть А - двумерный массив целых чисел размерности N*N. Найти максимальный по модулю элемент массива, его индексы.
  6. Пусть А - двумерный массив целых чисел размерности N*N. Найти среднее геометрическое положительных элементов.
  7. Пусть А - двумерный массив целых чисел размерности N*N. Найти число строк с отрицательной суммой элементов.
  8. Пусть А - двумерный массив целых чисел размерности N*N. Найти минимальный из элементов, лежащих на главной диагонали и двух смежных с ней.
  9. Пусть А - двумерный массив целых чисел размерности N*N. Найти среднее арифметическое элементов массива.
  10. Определить, имеются ли среди элементов побочной диагонали заданной целочисленной матрицы A(N,N) числа, равные нулю.
  11. Выяснить, имеются ли в заданном векторе A(N) два подряд идущих нулевых элемента.
  12. Выяснить, имеются ли в заданном целочисленном векторе A(N) три подряд идущих элемента одного знака.
  13. Если у заданного вектора A(N) есть хотя бы один элемент, меньший, чем –5, то все отрицательные элементы заменить их квадратами, оставив остальные элементы без изменения; в противном случае вектор домножить на 0,1.
  14. Все элементы заданного вектора A(N), начиная с первого по порядку положительного элемента, уменьшить на единицу.
  15. Если в заданном целочисленном векторе A(N) есть элементы со значением, равным заданному числу B, то переменной С присвоить значение, равное сумме всех элементов, предшествующих первому по порядку такому элементу; в противном случае вывести соответствующий текст.
  16. Среди столбцов заданной целочисленной матрицы, содержащих только такие элементы, которые по модулю не больше 10, найти столбец с минимальным произведением элементов.
  17. Найти номера строк заданной целочисленной матрицы A(N, M), в которых:
    а) на всех нечётных позициях стоят нули;
    б) на нечетных позициях встречаются нули.
  18. Даны сведения о количестве забитых голов каждого футболиста команды в каждом из матчей чемпионата. Проверить, сколько в команде есть футболистов:
    а) забивших хотя бы два гола;
    б) забивавших голы в каждом матче;
    в) не забивших ни одного гола.
  19. Используя сведения о результатах сдачи n вступительных экзаменов m абитуриентами, определить, сколько абитуриентов сдали все экзамены на "отлично".
  20. Дана целочисленная матрица А(N,N). Сформировать результирующий вектор B, элементами которого являются суммы элементов только тех строк матрицы А, которые начинаются с К положительных чисел подряд.

 


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

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.023 с.