GotoXY в Pascal.

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

Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится ...

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

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

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

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

Если число повторений заранее не известно и решение о завершении цикла принимается на основе анализа некоторого условия, то такой повторяющийся вычислительный процесс называется итерационным циклом.

...

Программирование вычислительных процессов.

Решение задачи на ЭВМ — это сложный процесс, в ходе которого пользователю приходится выполнять целый ряд действий, прежде чем он получит интересующий его результат.

Двумерный массив представляет собой массив, в котором положение элементов определяется 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
Ответить
 
 
0 # Reginald 23.07.2025 00:59
I loved as much as you'll receive carried out
right here. The sketch is tasteful, your authored subject matter stylish.

nonetheless, you command get got an nervousness over that you wish
be delivering the following. unwell unquestionably
come further formerly again since exactly the same nearly a lot often inside case you shield
this increase.

Feel free to visit my blog: Air guys
llc: http://wiki.rascol.net/index.php/Role_Of_Chimney_Sweeps:_A_Study_On_Tradition_Health_And_Innovation
Ответить
 
 
0 # Teresa 27.08.2025 14:26
Hi there, I discovered your blog by way of Google whilst looking for
a comparable topic, your site came up, it appears good.
I have bookmarked it in my google bookmarks.

Hi there, simply became aware of your blog through Google, and located that
it's really informative. I am going to be careful for brussels.

I'll appreciate if you happen to continue this in future.
A lot of people will likely be benefited out of your writing.
Cheers!

Also visit my web site ... Data SDY 2025: http://128.199.148.46/
Ответить
 

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

   ГлавнаяПаскальМассивы в ПаскальRandomize и Random в Pascal.