Студопедия  
Главная страница | Контакты | Случайная страница

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

Пример обработки одномерного массива

Читайте также:
  1. I период развития менеджмента - древний период. Наиболее длительным был первый период развития управления - начиная с 9-7 тыс. лет до н.э. примерно до XVIII в.
  2. II. Пример определения контрактной цены на санитарных рубок
  3. III. Первоначальное накопление капитала (особенности, примеры)
  4. Lt;variant>носит примерный характер
  5. V. Соотношение содержания стандартов и примерных программ
  6. V2: Бронхообструктивный синдром (на примере хр. обструктивного бронхита, бронхиальной астмы).
  7. V2: Мочевой синдром (на примере острого гломерулонефрита, хронического гломерулонефрита, осторого пиелонефрита, хронического пиелонефрита)..
  8. VI. Примерные вопросу к зачету /экзамену/ по логике.
  9. VII. ПРИМЕРНЫЙ ПЕРЕЧЕНЬ ВОПРОСОВ К ЭКЗАМЕНУ ПО КУРСУ
  10. Автоматизированные системы обработки информации на транспорте

Дан одномерный массив MAS(12) из вещественных чисел. Найти наибольший элемент массива и его индекс.

program pr4_1;

const n = 12; (*константа n определяет размер массива в описании*)

type

m = array [1..n] of real; (* m - тип массива mas *)

var mas: m;

i, num: integer; max: real;

begin

for i:=l to n do (*ввод элементов массива mas по 1 в строке*)

begin

writeln('введите элемент массива', i);

read(mas[i]);

end;

num:= 1; max:= mas[1];

for i: =2 to n do

if mas[i] > max then begin

max:= mas[i]; num:= i;

end;

writeln; (* вывод массива в строку*)

for i:=l to n do write (mas[i]:5:1);

writeln;

writeln ('максимальный элемент = ', max:4:1,' его индекс=',num);

end.

Переменная max сравнивается с элементами массива, и если элемент массива больше max, то переменной max присваивается значение элемента массива, а переменной num - индекс этого элемента. По окончании цикла переменная max будет иметь значение, равное максимальному элементу массива, а переменная num - значение индекса этого элемента.

Пример обработки многомерного массива

Как правило, при обработке многомерных массивов используются вложенные циклы, т.е. цикл по столбцам располагается внутри цикла по строкам.

Дана матрица A(3,4), и вектор B(4), состоящие из целых чисел. Умножить матрицу А на вектор В.

program pr4-2;

const m=3; n=4;

var

a: array [l.. m, 1.. n] of integer; (* описание матрицы *)

b: array [1.. n] of integer; (* описание вектора *)

c: array [1.. m] of integer; (* описание С *)

i, j: integer;

begin

for i:=l to m do (* ввод матрицы *)

begin

writeln ('введите элементы ', i, '-той строки');

for j:=1 to n do read(a[i, j]);

writeln;

end;

writeln ('введите элементы вектора');

for j:=1 to n do (* ввод вектора *)

read (b[ j]);

writeln;

for i:=l to m do

begin

c[i]:=0;

for j:=l to n do c[i]:= c[i]+a[i,j]* b[j];

end;

for i:=l to m do (*форматный вывод матрицы *)

begin

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

writeln;

end;

for j:=l to n do write(b[j]:4); (* вывод массива B *)

writeln;

for i:=l to m do write(c[i]:4); (* вывод массива С *)

readln;

end.

В программе элементы матрицы вводятся по строкам по одному с подтверждением клавишей Enter. А выводятся в общепринятом виде: каждая строка матрицы с новой строки экрана (цикл i по строкам внешний, а цикл j - внутренний).

Выполнение работы

Набрать и откомпилировать приведенные выше программы, исправить выявленные ошибки. Ввести элементы массива, убедиться в правильности выполнения программ.

Составить и выполнить программы с применением массивов согласно вариантам заданий.

Варианты задания 1.

Ввести массив А из 10 элементов

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

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

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

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

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

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

7. Найти сумму элементов, больших 3 и меньших 8 и вывести ее на экран.

8. Найти сумму элементов, меньших по модулю 5 и вывести ее на экран.

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

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

Варианты задания 2

1. Даны матрица A размером m*n и вектор В размером m. Записать на главную диагональ элементы вектора, а в вектор - элементы главной диагонали.

2. Выбрать максимальный элемент матрицы С (размер m*n), элементы четных строк разделить на максимальный элемент, а к элементам нечетных прибавить максимальный элемент.

3. Найти минимальный элемент матрицы С (размер m*n), и поменять его местами с первым элементом.

4. Дана матрица Е размером m*n. Вычислить суммы элементов каждого столбца. Определить наибольшее значение этих сумм и номер соответствующего столбца.

5. В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество нулевых элементов в матрице.

6. Даны две матрицы А и В одинаковой размерности m*n. Получить матрицу C = max (ai,j, bi,j), и матрицу D = min (ai,j, bi,j).

7. Дана матрица Р размером m*n. Найти сумму минимальных элементов каждого столбца матрицы.

8. Даны две матрицы: А размером m*k и В размером k*n. Получить матрицу С=A*В.

9. Даны матрица A размером m*n. Найти все отрицательные элементы матрицы и заменить их на 0. Вывести результат.

10. Дана матрица Е размером m* n. Найти произведение элементов каждого столбца и сумму элементов каждой строки.

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

1. Что такое массив? индекс элемента массива?

2. В каких пределах изменяются индексы элементов массива?

3. Как ввести и вывести элементы вектора в строку и в столбец?

4. Способы описания массивов.

5. Вывод матрицы по строкам и по столбцам.




Дата добавления: 2014-11-24; просмотров: 39 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав