Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

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

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

GotoXY в Pascal.

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

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

Сортировка двумерного массива.

Пример 36. Задан двумерный массив X из 6 строк и 4 столбцов. Упорядочить массив X по возрастанию элементов дробной части столбца с номером N. Отсортированный массив X вывести на экран монитора.

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

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

...

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


Комментарии  

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

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

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

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