Сформировать массив по правилу

Сформировать массив по правилу

Требуется составить в системе MATLAB (на М-языке) программу решения задачи.

1. Даны массивы А(т) и В(т), т — В1 + Ат

Найти сумму S элементов массива С . Вывести на печать массивы А, В, С и полученную сумму S.

  • 2. Дан массив С(т), т 0), количество элементов, равных нулю, а также произведение и количество отрицательных элементов ( 12, и их количество К. Вывести на печать исходный массив и величины S и К .
  • 17. Даны массивы А(ш) и B(m), ш

элементов КР, количество отрицательных элементов КМ, количество нулевых элементов KZ. Вывести на печать исходный массив и величины КР, КМ и KZ.

  • 21. Дан массив А(ш), т 0. Вывести на печать массивы А, В, и К.
  • 28. Дан массив А(ш), ш Bj и Kj=0, если Aj 0 и Tj=Aj В; , Bj Bj и Cj= Bj, если Aj 0), а также произведение и количество отрицательных элементов ( 0)

Тема: Двумерные массивы. Заполнение двумерного массива по заданному правилу.

Цели:отработать навыки работы с элементами двумерного массива, научиться заполнять двумерные массивы по заданному правилу, научиться выводить зависимость между номером строки и номером столбца; развитие логического мышления учащихся.

1. Актуализация знаний

Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Структура такого массива может быть представлена прямоугольной матрицей. Каждый элемент матрицы однозначно определяется указанием номера строки и столбца, номер строки – i, номер столбца – j.
Рассмотрим матрицу А размером n*m:

а11 а12 а13 а14
а21 а22 а23 а24
а31 а32 а33 а34

Матрица из 3 строк и 4 столбцов, количество строк n=3, количество столбцов m=4. Каждый элемент имеет свой номер, который состоит из двух чисел – номера строки, в которой находится элемент, и номера столбца. Например, а23 – это элемент, стоящий во второй строке и в третьем столбце.
Двумерный массив на языке Турбо Паскаль можно описать по-разному. Чтобы описать двумерный массив, надо определить какого типа его элементы, и каким образом они пронумерованы (какого типа его индекс). Существует несколько способов описания двумерного массива.

Читайте также:  Корень 3 степени в матлабе

1 способ

Type Mas = array [1..maxN] of ; <Одномерный массив>
Type TMas = array [1..maxM] of Mas;

2 способ

Type TMas = array [1..maxN] of array [1..maxM] of ;

3 способ

Type = array [1..maxN, 1..maxM] of ;

Предпочтение отдается третьему способу описания двумерного массива.

Const N=3; M=4;
Type TMas= array [1..N, 1..M] of integer;

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

1) Формирование двумерного массива при помощи ввода с клавиатуры и алгоритм построчного вывода элементов матрицы.

Const N=10;M=10;
Type Tmas= array [1..N,1..M] of integer;
Var A:Tmas; i,j:integer;
Begin
<Ввод элементов матрицы>
For i:=1 to N do
For j:=1 to M do
Read(A[i,j]);
<Вывод элементов матрицы>
For i:=1 to N do begin
For j:=1 to M do
Write(A[i,j]:4); <Печатается первая строка>
Writeln <Переход на новую строку>
end;
End.

2) Фрагмент программы формирования двумерного массива через генератор случайных чисел.

2. Изучение нового материала. Заполнение массива по правилу

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

1. Заполнить массив А размером n*m следующим образом, например

1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
17 18 19 20 21 22 23 24
32 31 30 29 28 27 26 25
33 34 35 36 37 38 39 40
48 47 46 45 44 43 42 41

Массив заполняется по принципу «змейки». Правило заполнения: если номер строки – нечетное число, то A[i,j]=(i-1)*m+j, иначе A[i,j]=i*m-j+1.

program M1А;
var A:array[1..100,1..100] of integer;
n,m,i,j: integer;
begin
readln(n,m);
for i:=1 to n do begin
for j:=1 to m do
begin
if i mod 2 = 1 then
A[i,j]=(i-1)*m+j
else
A[i,j]=i*m-j+1;
write(A[i,j]:3);
end;
writeln;
end;
readln;
end.

Читайте также:  Как подключить твиттер к усилителю

Приведем пример программы другого способа заполнения по заданному правилу:

program M1В;
var A:array[1..100,1..100] of integer;
n,m,i,j: integer;
c: integer;
begin
readln(n,m);
c:=1;
for i:=1 to n do
begin
for j:=1 to m do
begin
A[i,j]:=c;
if (i mod 2 = 0) and (j<>m) then
dec(c)
else
inc(c);
write(A[i,j]:3);
end;
c:=c+m-1;
writeln;
end;
readln;
end.

2. Заполнить массив A по следующему принципу:

1 0 2 0 3 0 4
0 5 0 6 0 7 0
8 0 9 0 10 0 11
0 12 0 13 0 14 0

program M2;
var A:array[1..100,1..100] of integer;
n,m,i,j: integer;
c: integer;
begin
readln(n,m);
c:=0;
for i:=1 to n do
begin
for j:=1 to m do
begin
if (i-1+j) mod 2 = 0 then
A[i,j]:=0
else
begin
inc(c);
A[i,j]:=c;
end;
write(A[i,j]:5);
end;
writeln;
end;
readln;
end.

3. Заполнить массив A по следующему принципу:

1 12 13 24 25 36
2 11 14 23 26 35
3 10 15 22 27 34
4 9 16 21 28 33
5 8 17 20 29 32
6 7 18 19 30 31

var A:array[1..100,1..100] of integer;
n,m,i,j: integer;
c: integer;
begin
readln(n,m);
c:=1;
for j:=1 to m do
begin
for i:=1 to n do
begin
A[i,j]:=c;
if (j mod 2 = 0) and (i<>n) then
dec(c)
else
inc(c);
end;
c:=c+n-1;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(A[i,j]:5);
writeln;
end;
readln;
end.

4. Заполнить массив A по следующему принципу:

1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4

var i,j,m,c,d: integer;
A:array[1..100,1..100] of integer;
begin
c:=1;
readln(m);
for j:=1 to m do
begin
i:=c;
d:=1;
repeat
A[i,j]:=d;
inc(i);
if i>m then
i:=1;
inc(d);
until i=c;
dec(c);
if c 21.07.2009

Дата добавления: 2013-12-23 ; просмотров: 2124 ; Нарушение авторских прав

Массивы

Формирование массива

1 способ: формирование вручную (или с клавиатуры) ‑ используется в случае небольшой размерности массивов как числовых так и строковых.

Var a: array [1..10] of Integer;

For i:=1 to 10 do

2 способ: формирование компьютером (или с помощью датчика случайных чисел) ‑ используется в случае большой размерности числовых массивов.

var a:array [1..20] of integer;

for i:=1 to 20 do

3 способ: формирование чтением из файла ‑ используется в случае частого обращения к одним и тем же данным (как числовым так и строковым).

Читайте также:  Признак сходимости гаусса примеры

Массив – это набор однотипных элементов, объединённых одним именем и имеющие индекс (т.е. порядковый номер).

î одномерные: например, арифметическая последовательность (числовой массив); список учащихся класса (строковый массив);

î двумерных: например, матрица; страница классного журнала; расписание уроков;

î трёхмерные: например, Декартова система координат, трёхмерное изображение; многоэтажных жилой дом;

î n-мерные: например, химическая модель вещества; звёздное небо.

Обозначение элемента одномерного массива: A[i] , a[1] , masiv[10] .

Обозначение элемента матрицы (двумерного массива):

A[i,j] – элемент, стоящий на пересечении i-й строки и j-го столбца;

a[1,3] – элемент, стоящий на пересечении 1-й строки и 3-го столбца;

masiv[5,10] — элемент, стоящий на пересечении 5-й строки и 10-го столбца

Объявление одномерных массивов:

Var A : Array [1..10] Of Integer; B : Array [1..30] Of Byte; — одномерные числовые массивы А и В разной размерности и разного типа
Constn=100; Var x, y : Array [1..n] Of Integer; — одномерные числовые массивы X и Y одинаковой размерности одного типа
Var s1 : Array [1..20] Of String; — одномерный строковый массив
Var a,b,c : Array [1..10,1..10] Of Integer; — три квадратных матрицы размерностью 10х10 (10 строк и 10 столбцов)

1 способ: формирование вручную (или с клавиатуры) ‑ используется в случае небольшой размерности массивов как числовых так и строковых.

Var a: array [1..10] of Integer;

For i:=1 to 10 do

2 способ: формирование компьютером (или с помощью датчика случайных чисел) ‑ используется в случае большой размерности числовых массивов.

var a:array [1..20] of integer;

for i:=1 to 20 do

3 способ: формирование чтением из файла ‑ используется в случае частого обращения к одним и тем же данным (как числовым так и строковым).

| следующая лекция ==>
Массивы | Тема.1.1. Потребности Свободные и экономические блага. Основные экономические проблемы. Ограниченность ресурсов.

Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

Ссылка на основную публикацию
Сфера деятельности интернет провайдера
Может предоставлять услуги: Однако самыми распространенными являются услуги виртуального хостинга, регистрации доменов и VDS. Технические аспекты Задача хостинговой компании —...
Спутник вылетел за пределы солнечной системы
«Во́яджер» (англ. voyager , от фр. voyageur — «путешественник») — название двух американских космических аппаратов, запущенных в 1977 году, а...
Спутниковые системы связи курсовая работа
В данной курсовой работе рассмотрены история, особенности и перспективы развития спутниковой сети связи. Новейшие технологии спутниковой связи предлагают действенные технико-...
Сфинкс вижн форум пользователи
Здравствуйте. Сделал поиск по фильмам. Все работает, но почему то не могу сделать ранжирование поиска. Через апи поставил $sphinx->SetFieldWeights(array ('item_runame'...
Adblock detector