Использование program, begin…end, write, readln, Uses Crt, Clrscr.

В этом уроке мы напишем самую простую программу, состоящую всего из пяти строк. Эта программа будет выводить сообщение на экран. Для написания программы нам необходимо знать как работают операторы Write, Readln, а также понять для чего нужны ...

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

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

Поиск минимального и максимального элементов массива.

Одной из наиболее распространенных задач обработки массивов является поиск минимального (максимального) элемента.

Отображение на экране значений двумерного массива.

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

Двумерный массив представляет собой массив, в котором положение элементов определяется 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.


Комментарии  

 
-24 # мария 20.11.2012 07:45
Дан двумерный массив. Определить:
А) сумму всех элементов массива;
Б) сумму квадратов всех элементов массива.
Ответить
 
 
+5 # Papa 13.03.2013 06:43
Помогли бы девушке ;)
Ответить
 
 
-7 # Ваймат 07.05.2013 01:18
Произведение всех отрицательных элементовб хелп ми
Ответить
 
 
+5 # 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.
Ответить
 
 
-7 # Юлия 13.10.2015 10:39
Записать двухмерный массив 100х100 целых чисел.найти след.
Ответить
 
 
-8 # Надежда 13.10.2015 10:42
дан Массив, который содержит обыкновенные дроби вида -P/Q Где P- целое число, а Q- натуральное , Просуммировать модули дробей.Ответ Представить в виде дроби без сокращение!
помогите)
Ответить
 
 
-7 # Миша 21.12.2015 19:54
В матрице nxm найти найти сумму максимальных элементов столбцов и умножить на это число столбец с минимальным элементом матрицы, помогите пожалуйста
Ответить
 
 
-3 # Миша 21.12.2015 20:10
Аууу
Ответить
 
 
-2 # Sabina 26.02.2016 06:25
Помогитк плииз))))даны две матрицы а(3;4)и в(3;4). Сформировать матрицу С(3;4) по правилу:Cij=max (Aij+Bij) плииз
Ответить
 
 
-1 # Ann 19.05.2016 14:13
дано массив A[1..n,1..m]. Найти количество всех чисел кратных 2 и их место в массиве.
помогите пожалуйста..
Ответить
 
 
+1 # kiss_a 19.05.2016 14:17
массив A[1..n,1..m]
Нужно заменить все отрицательные елементы на противоположные им числа.
Ответить
 
 
+2 # Диззлайк 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.
Ответить
 
 
-7 # Ded1337 10.08.2017 10:23
Вместо того, чтобы людям помочь, они дизлайки ставят...
Ответить
 
 
+1 # Светлана 27.10.2022 15:01
Здравствуйте.

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

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

Возможно понадобится ссылка с методом – https://www.mathros.net.ua/rozvjazok-systemy-linijnyh-algebraichnyh-rivnjan-metodom-kramera.html (не знаю доступно ли описала проблему).

Если у Вас есть возможность набросать программный код, который бы реализовал формирование указанных выше матриц.

Заранее спасибо.
Ответить
 
 
+1 # Иван 04.11.2022 11:48
Сумму эл-ов диагоналей С(10,10) ХЕЛП :sigh:
122222221
122222212
122222122
122221222
122212222
122122222
121222222
112222222
111111111
Ответить
 

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

   ГлавнаяПаскальМассивы в ПаскальДвумерные массивы в Pascal.