русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Краткие теоретические сведения


Дата добавления: 2014-11-28; просмотров: 578; Нарушение авторских прав


Рассмотренный ранее линейный массив представлял собой вектор, т.е. линейную последовательность чисел, например:

1 2 3 –5 0 1 3 6 …

Для определения такого массива необходимо задать 1 параметр - количество элементов (например n). Поэтому для обработки одномерного массива достаточно было организовать цикл по одной переменной (например i): for i:=1 to n do mas[i]:=…

Двумерный массив представляют собой матрицу, для определения которой необходимо задать два параметра - количество строк (например n) и количество столбцов (например m). Если количество строк - 2, количество столбцов - 3, тогда матрица будет выглядеть например так:

1 3 -5

2 3 4

Следовательно, для обработки матрицы (двумерного массива) требуется организовать цикл по двум переменным (например i и j ):

for i:=1 to n do

begin

for j:=1 to m do

begin

mas[i,j]:=…

end;

end;

Пример программы нахождения суммы элементов двумерного массива

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

В начале программы опишем двумерный массив с именем mas, состоящий из 10 строк и 10 столбцов (максимально) типа integer. Затем опишем переменную S, обозначающую сумму элементов, i, j-индексы соответственно строки и столбца, n,m-количество строк и столбцов.

В основной программе пользователь задает размерность матрицы (количество строк и столбцов). Затем во вложенном цикле (по i и по j) осуществляется ввод с клавиатуры элементов матрицы, а затем вывод на экран введенного пользователем массива.

После того, как массив был введен, с ним можно непосредственно начинать работать. В данном примере необходимо найти сумму элементов двумерного массива.

Любое нахождение суммы начинается с обнуления переменной суммы: s:=0. Затем в цикле по i и по j вычисляется сумма:



for i:=1 to n do

begin

for j:=1 to m do

begin

s:=s+mas[i,j];

end;

end;

В целом текст программы выглядит так:

 

Program matrix;

Uses crt;

var

mas:array [1..10,1..10] of integer;

s:integer;

i,j,n,m:integer;

Begin

Сlrscr;

writeln('Введите количество строк n:');

readln(n);

writeln('Введите количество столбцов m:');

readln(m);

for i:=1 to n do {ввод элементов двумерного массива}

begin

for j:=1 to m do

begin

writeln('Введите ',i,',',j,'-й элемент матрицы: ');

readln(mas[i,j]);

end;

end;

writeln('Введенный массив: ');

for i:=1 to n do {вывод элементов двумерного массива}

begin

for j:=1 to m do

write(mas[i,j]:5);

end; {конец вывода}

s:=0; {обнуление суммы}

for i:=1 to n do

begin

for j:=1 to m do

begin

s:=s+mas[i,j];{вычисление суммы элементов}

end;

end;

write('Summa:');

write('S= ',S); {вывод на экран полученной суммы}

End.

Пример программы нахождения количества положительных и отрицательных элементов двумерного массива

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

В начале программы опишем двумерный массив с именем mas, состоящий из 10 строк и 10 столбцов (максимально) типа integer, а также массивы B и C для положительных и отрицательных элементов соответственно. Затем опишем переменные k, l-количество положительных и отрицательных элементов соответственно, i, j - индексы соответственно строки и столбца, n,m-количество строк и столбцов.

Проверка на положительность элементов может выглядеть так:

for i:=1 to n do

begin

for j:=1 to m do

begin

if mas[i,j]>0 then…

Если условие выполняется (i,j –й элемент является положительным), то количество положительных элементов k увеличивается на 1 и заполняется массив B:

if mas[i,j]>0 then

begin

k:=k+1;

B[k]:=mas[i,j];

end;

Аналогично выполняется проверка на отрицательность, количество отрицательных элементов l увеличивается на 1 и заполняется массив C.

В целом текст программы выглядит так:

Program matrix_2;

Uses crt;

Var

mas:array [1..10,1..10] of integer;

B:array [1..10] of integer;

C:array [1..10] of integer;

i,j,k,l,n,m:integer;

Begin

Сlrscr;

writeln('Введите количество строк n:');

readln(n);

writeln('Введите количество столбцов m:');

readln(m);

{ввод-вывод элементов матрицы mas}

for i:=1 to n do

begin

for j:=1 to m do

begin

if mas[i,j]>0 then

begin

k:=k+1;

B[k]:=mas[i,j];

end;

end;

if mas[i,j]<0 then

begin

l:=l+1;

C[l]:=mas[i,j];

end;

end;

{Вывод на экран полученных массивов B и C}

write('Массив из положительных : ');

for i:=1 to k do

write(' ',B[i]);

writeln;

write('Массив из отрицательных : ');

for i:=1 to l do

write(' ',C[i]);

readln;

End.



<== предыдущая лекция | следующая лекция ==>
Ввод-вывод элементов массива | Фрагмент описания строковых данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


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

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.291 сек.