Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Паскалю.doc
Скачиваний:
33
Добавлен:
04.06.2015
Размер:
7.33 Mб
Скачать

Var I, j, t : Integer;

Vector : Array [1..K] Of Integer;

Massiv : Array [1..n, 1..m] Of Integer;

Begin

ClrScr;

Randomize;

For i:=1 To k Do

Vector[i]:=Random(vect_max – vect_min + 1) + vect_min;

WriteLn(‘Исходный вектор’);

WriteLn;

For i:=1 To k Do

Write(Vector[i]:5);

WriteLn;

t := 0; номер очередного элемента вектора

For i:=1 To n Do

For j:=1 To m Do

Begin

t := t + 1;

Massiv[i, j] := Vector[t];

End;

WriteLn(‘Полученный массив’);

WriteLn;

For i:=1 To n Do

Begin

For j:=1 To m Do

Write(Massiv[i, j]:5);

WriteLn;

End;

ReadLn;

End.

12.Задать элементы целочисленного квадратного массиваmassivnmслучайными числами, лежащими в диапазоне отmass_minдоmass_max. Исходный массив вывести на экран построчно. Разместить элементы массива в вектореVectork построчно(k = n*m):

Program Primer_12;

Uses WinCrt;

Const n = 5;

m = 7;

k = n * m;

mass_min = -50;

mass_max = 50;

Var I, j, t : Integer;

Vector : Array [1..K] Of Integer;

Massiv : Array [1..n, 1..m] Of Integer;

Begin

ClrScr;

Randomize;

For i:=1 To n Do

For j:=1 To n Do

Massiv[i, j]:= Random(mass_max – mass_min + 1) + mass_min;

WriteLn;

WriteLn(‘Исходный массив:’);

For i:=1 To n Do

Begin

For j:=1 To m Do

Write(Massiv[i, j]:5);

WriteLn;

End;

WriteLn;

t := 0;

For i:=1 To n Do

For j:=1 To m Do

Begin

t := t + 1;

Vector[t] := Massiv[i,j];

End;

WriteLn(‘Полученный вектор’);

WriteLn;

For i:=1 To k Do

Write(Vector[i]:5);

WriteLn;

ReadLn;

End.

13.Задать элементы целочисленного квадратного массиваmassivnnслучайными числами, лежащими в диапазоне отmass_minдоmass_max. Исходный массив вывести на экран построчно.Транспонироватьмассив, заменив его строки соответствующими столбцами: первую строку – на первый столбец, вторую – на второй, и так далее. Транспонированный массив вывести на экран построчно:

Program Primer_13;

Uses WinCrt;

Const n = 5;

mass_min = -50;

mass_max = 50;

Var I, j, k : Integer;

Massiv : Array [1..n, 1..n] Of Integer; описание массива с использованием константы n

Begin

ClrScr;

Randomize;

For i:=1 To n Do

For j:=1 To n Do

Massiv[i, j]:=Random(mass_max – mass_min + 1) + mass_min;

WriteLn(‘Исходный массив:’);

For i:=1 To n Do

Begin

For j:=1 To n Do

Write(Massiv[i, j]:5);

WriteLn;

End;

WriteLn;

For i:=1 To n Do строки начинаем с первой

For j:=i To n Do столбцы начинаем с главной диагонали

Begin

k:= Massiv[i,j]; транспонирование массива с использованием

Massiv[i,j]:= Massiv[j,i]; алгоритма циклического обмена

Massiv[j,i]:= k; значениями двух переменных через третью

End;

WriteLn(‘Транспонированный массив:’);

For i:=1 To n Do

Begin

For j:=1 To n Do

Write(Massiv[i, j]:5);

WriteLn;

End;

WriteLn;

ReadLn;

End.

14.Задать элементы целочисленного массиваmassivnmслучайными числами, лежащими в диапазоне отmass_minдоmass_max. Исходный массив вывести на экран построчно. Сдвинуть столбцы массива на шаг вправо, причем последний столбец должен встать на место первого.

Решение задачи заключается в запоминании элементов последнего столбца и последующем сдвиге элементов каждой строки на шаг вправо. Запомненный элемент становится на первое место в текущей строке:

Program Primer_14;

Uses WinCrt;

Const n = 5;

m = 6;

mass_min = -50;

mass_max = 50;