Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.05.2015, 18:05   #1
Алекс 94
 
Регистрация: 14.04.2015
Сообщений: 7
По умолчанию массивы

Пжл, кто может объяснить программу(расписать что означает каждая строчка).

В массиве 10х10 целого типа отсортировать главную диагональ (процедура), вычислить ее сумму (функция), поменять местами строки, номера которых укажет пользователь. Вывод массива (процедура).

Написать эту задачу: 1. все процедуры в одном файле
2. процедуры/файлы в библиотечном файле
3. вывод результатов в текстовый файл

Код:
const
n=10;
type
matr=array[1..n,1..n] of integer;
var
a:matr;
row1,row2: integer;

procedure CreateMatrix(var x:matr);
var
i,j: integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
x[i,j]:=Integer(random(n*n)) - n*n div 2;
write(x[i,j]:4);
end;
writeln;
end;
end;

procedure sort(var x:matr);
var
i,j,t: integer;
begin
// сортировка
for i:=2 to n do
for j:=n downto i do
begin
if x[j,j]<x[j-1,j-1] then // главной
begin
t:=x[j,j];
x[j,j]:=x[j-1,j-1];
x[j-1,j-1]:=t;
end;
end;
end;

procedure OutputMatrix(x:matr);
var
i,j: integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
write(x[i,j]:4);
writeln;
end;
end;

function sumdiag(x:matr):Longint;
var
sum:longint;
i:integer;
begin
sum:=0;
for i:=1 to n do
sum:=sum+x[i,i];
sumdiag:=sum;
end;

procedure ChangeRow(var x:matr; n1,n2:integer);
var
i,t:integer;
begin
for i:=1 to n do
begin
t:=x[n1,i];
x[n1,i]:=x[n2,i];
x[n2,i]:=t;
end;
end;

begin
randomize;
writeln('Исходный массив:');
CreateMatrix(a);
sort(a);
writeln('Отсортированный массив:');
OutPutMatrix(a);
writeln('Сумма = ',sumdiag(a));
write('Введите номера строк, которые необходимо поменять: ');
readln(row1,row2);
ChangeRow(a,row1,row2);
writeln('Полученный массив:');
OutPutMatrix(a);
readln;
end.

Последний раз редактировалось Аватар; 10.05.2015 в 18:15.
Алекс 94 вне форума Ответить с цитированием
Старый 10.05.2015, 18:49   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Пжл, кто может объяснить программу(расписать что означает каждая строчка).
имхо, проще обратиться к автору.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 10.05.2015, 19:31   #3
Алекс 94
 
Регистрация: 14.04.2015
Сообщений: 7
По умолчанию

мне сегодня бы. емц некогда сегодня
Алекс 94 вне форума Ответить с цитированием
Старый 10.05.2015, 19:52   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
емц некогда сегодня
значит, мало денег предлагал.

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу массивы (C++) - Даны два массива, скопировать эти массивы в 3-й результирующий (размером 10 элементов) так, что Саша1990 Помощь студентам 1 02.02.2015 16:03
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12