IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Заполнение целочисленного двумерного квадратного массива
alex9910
сообщение 29.01.2012 17:38
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Кто сможет решить данную задачу?

Организовать заполнение целочисленного двумерного квадратного массива D случайными числами, используя функцию Random. Переставить элементы главной и побочной диагоналей. Вывести на экран исходную и результирующую матрицы.

Всем заранее спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Игорь
сообщение 29.01.2012 19:59
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 56
Пол: Мужской

Репутация: -  2  +


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


program mass;

const N = 6;

var

D:array [1..N, 1..N] of integer;
i, j:integer;
swap:integer; {Переменная для временного хранения эл-ов массива}

begin

randomize;

writeln;

{Заполнение массива и вывод его исходного вида}

for i:=1 to N do
begin
for j:=1 to N do
begin
D[i,j]:=random(100);
write(D[i,j]:3, ' ');
end;
writeln;
end;

{Пререстановка}

for i:=1 to N div 2 do
begin
swap:=D[i,i];
D[i,i]:=D[N-i+1, N-i+1];
D[N-i+1, N-i+1]:=swap;
end;

for i:=1 to N div 2 do
begin
swap:=D[i, N-i+1];
D[i, N-i+1]:=D[N-i+1, i];
D[N-i+1, i]:=swap;
end;

{Вывод результата}

writeln('---------------------');

for i:=1 to N do
begin
for j:=1 to N do
write(D[i,j]:3, ' ');
writeln;
end;

readln;

end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 4.07.2025 19:10
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"