Студопедия

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


Мы поможем в написании ваших работ!

Порталы:

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



Мы поможем в написании ваших работ!




Обработка элементов, удовлетворяющих определенным требованиям

Читайте также:
  1. Алгоритм учета налога на прибыль в соответствии с требованиями ПБУ 18
  2. Вторичная хирургическая обработка ран
  3. Гидротермическая обработка древесин
  4. Гидротермическая обработка.
  5. Грузовая обработка судна в порту.
  6. Группа элементов, определяющих порядок исполнения обязанности по уплате налога.
  7. Действуйте в соответствии с требованиями п.п. 1.36 - 1.38 темы №1 данной главы.
  8. Действуйте в соответствии с требованиями п.п. 4.1.1 - 4.1.4 данной темы.
  9. Деформируемые алюминиевые сплавы и их термическая обработка.
  10. Защита и обработка конфиденциальных документов

Begin

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

Ввод с помощью датчика псевдослучайных чисел

End

Begin

Begin

Ввод с клавиатуры

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

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

Ввод, как и для одномерного массива, можно осуществить двумя способами: с клавиатуры или с помощью датчика псевдослучайных чисел.

For i:=1 to d do {для каждой строки матрицы}

Write(‘Введите элементы ’,I,’-й строки:‘);{комментарий}

For j:=1 to d do {для каждого столбца i-ой строки}

Write(‘A[’,I,’,’,J,’]=‘);{комментарий}

Readln(a[I,j]); {ввод элемента матрицы}

end;

При этом также используются процедура randomize и функция random. Диапазоны значений элементов задаются аналогично тому, как это происходило для одномерного массива. Фрагмент программы для заполнения случайными числами вещественной матрицы x(d,d), значениями из диапазона [a,b). Фрагмент программы:

randomize;

For i:=1 to d do

For j:=1 to d do

x[I,j]:=a + (b-a)*random; {получение очередного элемента}

Если а=0, то x[I,j]:= b*random;

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

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

For i:=1 to d do

For j:=1 to d do write(x[I,j]:8:2);{вывод элементов строки матрицы}

writeln;{закончена строка матрицы, поэтому на экране переходим на новую строку}

end;

Особенности этих алгоритмов:

1. Часто приходится организовывать перебор всех элементов матрицы, и каждый проверять на соответствие требованиям. Поэтому часто применяется конструкция вложенных циклов для перебора номеров строк I и номеров столбцов J (

for i:=1 to N do

for j:=1 to N do …).

2. Требования могут предъявляться к значению элемента (пример 1) или к его расположению (пример 2). Возможна также комбинация требований (пример 3).

 

Пример 1. Дана матрица B(K,L) натуральных чисел, принадлежащих [a,b]. Найти количество строк, содержащих более половины элементов, являющихся простыми числами.

Решение. Требования к значению элемента. Необходимо организовать перебор строк матрицы (for i:=1 to k do…). Для каждой строки нужно вычислить количество простых чисел (kol), т.е. для каждого элемента строки (for j:=1 to L do…) выполнить проверку на простоту. По итогу проверки изменяется или не изменяется значение количества.

После завершения просмотра строки сравнить значение количества kol с L div 2. Если kol больше, то количество строк, удовлетворяющих условию(ks), увеличивается на 1.


<== предыдущая страница | следующая страница ==>
Работа с матрицами | Фрагмент программы, реализующий подход №1

Дата добавления: 2014-03-11; просмотров: 320; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.004 сек.