TURBO PASCAL

Новости       

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности 

Гостевая книга

Спонсор

От автора

Программа  включения  строки Y  в  матрицу X максимального размера 10x10 элементов на позицию M. Строка N11 - резервная.

Program p69 (Input, Output);          

Объявление имени программы

Type     

Блок объявления типов пользователя

Matr = Array [1..10, 1..10+1] Of Integer;        

Тип Matr - целочисленная квадратная матрица максимального размера 10x10

Str  = Array [1..10] Of Integer;         

Тип Str - целочисленный массив размером 10

Var         

Блок объявления глобальных переменных

X             : Matr;   

Переменная X - матрица вышеуказанного типа Matr

Y             : Str;      

Переменная Y - массив вышеуказанного типа Str, включаемый в матрицу X

i, j            : Integer;              

Переменные i, j - параметры циклов

N, M       : Integer;              

N - размеры исходной матрицы, M - позиция вставляемой строки

 

 

Begin    

Начало тела программы

 

 

Writeln('PASCAL: Включение строки в матрицу.');

Формулировка цели алгоритма

WriteLn ('Введите входные данные:');          

Вывод запроса входных данных

Write ('Число строк матрицы N (N<=10): '); ReadLn (N);               

Вывод запроса и ввод N - размера исходной квадратной матрицы

 

 

WriteLn ( 'Введите матрицу X:');   

Запрос ввода самой исходной матрицы

For i := 1 To N Do              

Цикл для i от 1 до N, где i - номер очередной строки

For j := 1 To N Do              

Цикл для j от 1 до N, где j - номер очередного столбца

Begin    

Начало тела цикла

Write ('X[', i: 2, ',', j: 2, ']', ' = ');          

Вывод удобной подсказки

Read (X [i, j] )      

Ввод очередного элемента - X[i,j]

End;      

Конец тела цикла

Write ('Введите номер позиции M: '); ReadLn (M);  

Запрос и ввод M - позиции включаемой строки

 

 

WriteLn ('Введите включаемую строку Y:');              

Запрос ввода элементов включаемой строки

For i := 1 To N Do              

Цикл для i от 1 до N, где i - номер очередного элемента включаемой строки

Begin    

Начало тела цикла

Write ('Y[', i: 2, '] = ');          

Вывод удобной подсказки

ReadLn (Y [i] )     

Ввод очередного элемента включаемой строки - Y[i]

End;      

Конец тела цикла

 

 

For i := N Downto M Do    Цикл  сдвига  строк  матрицы на одну              

Цикл для i по убыванию от N до M, для включения строки Y в матрицу X

Begin     позицию "вниз", освобождающий строку                

Начало тела цикла

For j := 1 To N Do               номер M для элементов строки Y                              

Цикл для j от 1 до N, сдвигающий элементы i-ой строки на 1 позицию "вниз"

X [i + 1, j] := X [i, j];            

Непосредственный сдвиг "вниз" элемента X в позиции [i,j] в позицию [i+1,j]

End;      

Конец тела цикла

 

 

For j := 1 To N Do              

Цикл поэлементного включения строки Y в матрицу X, j - номер элемента

X [M, j] := Y [j];   

Непосредственное включение элемента строки Y[j] в M-ую строку матрицы X

 

 

WriteLn ('Матрица после включения строки:');        

Сообщение пользователю о выводе полученной матрицы

For i := 1 To N + 1 Do        

Цикл для i от 1 до N+1, т.е. до нового числа строк в матрице

Begin    

Начало тела цикла

For j := 1 To N Do              

Цикл для j от 1 до N, где j - номер выводимого элемента в i-ой строке

Write (X [i, j] : 4);

Вывод элемента матрицы X в позиции [i,j]

WriteLn;              

Переход на следующую строку

End;      

Конец тела цикла

 

 

ReadLn;

Ожидание нажатия клавиши Enter для завершения

End.       

Конец программы.

 

На первую страницу

Rambler's Top100 PROext: Top 1000
Rambler's Top100

(с) Все права защищены.

По всем интересующим вопросам прошу писать электронный адрес

Hosted by uCoz