КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Пример программы вывода двумерного массива Паскаля
Вывод двумерного массива Паскаля на экран Пример программы ввода двумерного массива Паскаля с клавиатуры Ввод двумерного массива Паскаля. Для последовательного ввода элементов одномерного массива мы использовали цикл for, в котором изменяли значение индекса с 1-го до последнего. Но положение элемента в двумерном массиве Паскаля определяется двумя индексами: номером строки и номером столбца. Это значит, что нам нужно будет последовательно изменять номер строки с 1-й до последней и в каждой строке перебирать элементы столбцов с 1-го до последнего. Значит, нам потребуется два цикла for, причем один из них будет вложен в другой. Рассмотрим пример ввода двумерного массива Паскаля с клавиатуры: type var i, j: integer; { индексы массива } begin for j:=1 to 10 do {перебор всех элементов строки по столбцам} readln (a [ i, j ]); {ввод с клавиатуры элемента, стоящего в i -й строке и j -м столбце}
Двумерный массив Паскаля можно заполнить случайным образом, т.е. использовать функцию random (N), а также присвоить каждому элементу матрицы значение некоторого выражения. Способ заполнения двумерного массива Паскаля выбирается в зависимости от поставленной задачи, но в любом случае должен быть определен каждый элемент в каждой строке и каждом столбце. Вывод элементов двумерного массива Паскаля также осуществляется последовательно, необходимо напечатать элементы каждой строки и каждого столбца. При этом хотелось бы, чтобы элементы, стоящие в одной строке, печатались рядом, т.е. в строку, а элементы столбца располагались один под другим. Для этого необходимо выполнить следующую последовательность действий (рассмотрим фрагмент программы для массива, описанного в предыдущем примере): for i:=1 to 5 do {цикл для перебора всех строк} begin write (a [ i, j ]:4); {печать элементов, стоящих в i -й строке матрицы в одной экранной строке, при этом для вывода каждого элемента отводится 4 позиции} end; Замечание (это важно!): очень часто в программах студентов встречается ошибка, когда ввод с клавиатуры или вывод на экран массива пытаются осуществить следующим образом: readln (a), writeln (a), где а – это переменная типа массив. При этом их удивляет сообщение компилятора, что переменную этого типа невозможно считать или напечатать. Может быть, вы поймете, почему этого сделать нельзя, если представите N кружек, стоящих в ряд, а у вас в руках, например, чайник с водой. Можете вы по команде «налей воду» наполнить сразу все кружки? Как бы вы ни старались, но в каждую кружку придется наливать отдельно. Заполнение и вывод на экран элементов массива также должно осуществляться последовательно и поэлементно, т.к. в памяти ЭВМ элементы массива располагаются в последовательных ячейках. Задание 10 Для заданной вещественной матрицы размера 4х4 найти её максимальный элемент и указать строку и столбец, в которых он находиться. Текст программы на языке Турбо Паскаль
Program Max_Elem; Uses crt; {Подключение модуля работы с экраном} var c:array[1..4,1..4] of real; i,j,str_max,stolb_max: integer; max:real; {Описание переменных} Begin clrscr; {Очистка экрана} randomize; {Установка генератора случайного числа на следующее значение } writeln('Исходный массив:'); for i:=1 to 4 do begin writeln; {Задание массива из случайных чисел, печать массива} for j:=1 to 4 do begin c[i,j]:=random(20); write(c[i,j], ' '); end; end; writeln; max:=c[1,1]; {Поиск максимального и запоминание номера строки и столбца} for i:=1 to 4 do for j:=1 to 4 do begin if c[i,j]>=max then begin max:=c[i,j]; str_max:=i; stolb_max:=j; end; end; writeln('maximaln element=', max); writeln('nahod v ', str_max, ' stroke '); writeln('i v ',stolb_max, ' stolbce'); {Поиск чисел равных максимальному, вывод номеров их строк и столбцов} for i:=1 to 4 do for j:=1 to 4 do begin if (c[i,j]=max) and (i<>str_max) and (j<>stolb_max) then begin writeln('elementbI ravnbIe max',c[i,j]); writeln('v ',i, ' stroke'); writeln('v ',j, ' stolbce'); end; end; repeat until keypressed; {Ожидание нажатия любой клавиши} end. Задания для самостоятельного выполнения
Составить программу, выбрав вариант задачи по номеру компьютера. Вывести результаты решения во внешний файл. Варианты заданий приведены в табл.5. Таблица 5.
Дата добавления: 2014-12-10; Просмотров: 1680; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |