Ветвления в Pascal.

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

Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

Функции trunc, round в Pascal.

Для того чтобы в Паскаль можно было оперировать не только целыми числами, но и дробными существуют вещественные типы данных. Один из таких типов называется Real. В этом уроке мы рассмотрим 2 функции, которые производятся над дробными числами. Это ...

Циклы и массивы

Циклы с параметром. Оператор FOR.

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

Вложенные итерационные циклы.

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

Двумерный массив представляет собой массив, в котором положение элементов определяется 2-мя индексами. Фактически, двумерный массив – это обычный (одномерный) массив, элементами которого являются другие одномерные массивы.

Поэтому двумерный массив можно задать следующим образом: b:array[1..n] of array[1..m] of integer.
Однако, подобная запись двумерного массива на практике используется нечасто. Наиболее предпочтительным является следующий вариант: b: array[1..n,1..m] of integer.
Схематично, двумерный массив можно представить в виде матрицы, где первый индекс [1..n] определяет количество строк, а второй индекс [1..m] определяет количество столбцов. Для примера возьмем массив b: array[1..7,1..6] of integer. Схематично его можно представить так:

dvumernihyj massiv
Как видно, такой массив содержит 42 элемента (7?6). Для доступа к элементу массива необходимо указать номер строки и столбца, на пересечении которых этот элемент расположен. Например, на нашем рисунке элемент массива b[3,3] имеет значение 122.
Следующая программа записывает в каждый элемент массива случайное число и затем выводит все эти числа на экран.



program massiv10;
uses crt;
const N=5;
         M=4;
var X:array [1..N, 1..M] of integer;
       I, J:integer;
begin
clrscr;
randomize;
for i:=1 to N do
    for j:=1 to M do
    x [I, J]:=random (100);
for i:=1 to N do
begin
  for j:=1 to M do
    write (' ',x[I,J]);
    writeln
end;
readln
end.


В строке №3 и №4 укажем значение для константы «N» и «M».

В строке№5 запишем область двумерного массива, состоящего из N – строк и M – столбцов.  Он записывается также как и одномерный массив, только в квадратных скобках указывается область хранения двумерного массива.  Таким образом, наш массив будет состоять из 5 строк и 4 столбцов

В строке №6 записываем переменные, для хранения индексов строки и столбца.

Строка №9,10,11,12 – заполняем массив случайными числами (Все строки и столбцы заполнятся случайными числами). Как видно из программы, для того чтобы заполнить элементы двумерного массива различными значениями, необходимо использовать 2 цикла (один цикл вкладывается в другой). Во внешнем цикле счетчиком выступает индекс строки, во внутреннем цикле - индекс столбца. Внешний цикл выполнится один раз только когда внутренний цикл выполнится 4 раза. А так как внешний цикл должен выполниться 5 раз, то внутренний цикл за это время выполнится 20 раз, заполнив при этом все 20 элементов двумерного массива.

Строка №13-№17. Выводим значения всех элементов массива на экран. Причем, как только заполняются все ячейки одной строки массива, проиходит переход на другую строку, и следующая строка массива выводится на другой строке.

dvumernihyj massiv.

dvumernihyj massiv..


Предыдущая статья : Нахождение номера отрицательного элемента в массиве.

Оглавление : Уроки Паскаль.

Следующая статья : Процедуры в Pascal.


Комментарии  

 
-28 # мария 20.11.2012 07:45
Дан двумерный массив. Определить:
А) сумму всех элементов массива;
Б) сумму квадратов всех элементов массива.
Ответить
 
 
+7 # Papa 13.03.2013 06:43
Помогли бы девушке ;)
Ответить
 
 
-15 # Ваймат 07.05.2013 01:18
Произведение всех отрицательных элементовб хелп ми
Ответить
 
 
+12 # dr_alpachino 19.08.2015 17:25
program massiv10;

uses
crt;

const
N = 5;
M = 4;

var
X: array [1..N, 1..M] of integer;
I, summ,summkvad,J : integer;

begin
clrscr;
randomize;
for i := 1 to N do
begin
for j := 1 to M do
begin
x[I, J] := random(5);
summ:= summ + x[I, J];
summkvad := (summkvad + (x[I, J] * x[I, J]));
end;
end;
for i := 1 to N do
begin
for j := 1 to M do
write(' ', x[I, J]);
writeln
end;
writeln('Сумма всех элементов массива ',summ);
writeln('Сумма всех квадратов элемента массива ',summkvad);
end.
Ответить
 
 
-10 # Юлия 13.10.2015 10:39
Записать двухмерный массив 100х100 целых чисел.найти след.
Ответить
 
 
-15 # Надежда 13.10.2015 10:42
дан Массив, который содержит обыкновенные дроби вида -P/Q Где P- целое число, а Q- натуральное , Просуммировать модули дробей.Ответ Представить в виде дроби без сокращение!
помогите)
Ответить
 
 
-11 # Миша 21.12.2015 19:54
В матрице nxm найти найти сумму максимальных элементов столбцов и умножить на это число столбец с минимальным элементом матрицы, помогите пожалуйста
Ответить
 
 
-9 # Миша 21.12.2015 20:10
Аууу
Ответить
 
 
-8 # Sabina 26.02.2016 06:25
Помогитк плииз))))даны две матрицы а(3;4)и в(3;4). Сформировать матрицу С(3;4) по правилу:Cij=max (Aij+Bij) плииз
Ответить
 
 
-5 # Ann 19.05.2016 14:13
дано массив A[1..n,1..m]. Найти количество всех чисел кратных 2 и их место в массиве.
помогите пожалуйста..
Ответить
 
 
-5 # kiss_a 19.05.2016 14:17
массив A[1..n,1..m]
Нужно заменить все отрицательные елементы на противоположные им числа.
Ответить
 
 
-1 # Диззлайк 08.04.2017 05:40
program massiv10;

const
N = 5;
M = 4;

var
X: array [1..N, 1..M] of integer;
I, summ,summkvad,J : integer;

begin
randomize;
for i := 1 to N do
begin
for j := 1 to M do
begin
x[I, J] := random(5);
summ:= summ + x[I, J];
summkvad := (summkvad + (x[I, J] * x[I, J]));
end;
end;
for i := 1 to N do
begin
for j := 1 to M do
write(' ', x[I, J]);
writeln
end;
writeln('Сумма всех элементов массива ',summ);
writeln('Сумма всех квадратов элемента массива ',summkvad);
end.
Ответить
 
 
-1 # Ded1337 10.08.2017 10:23
Вместо того, чтобы людям помочь, они дизлайки ставят...
Ответить
 

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальМассивы в Паскаль