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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2009, 17:56   #1
perojenko
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 19
Вопрос квадратные матрицы

1. Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива, востановить исходную и напечатать по строкам.

2. в Матрице a[5,5] найти сумму элеметов расположеных выше главной диагонали и сумму элементов расположеных ниже побочной диагонали.


Плиз) Хелп)
perojenko вне форума Ответить с цитированием
Старый 22.01.2009, 18:15   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Первая:
Код:
uses crt;
const N=15;
var
mas : array[1..N] of integer;
matr : array[1..10,1..10] of integer;
i,j,k,a : integer;
begin
clrscr;
for i:=1 to n do
 begin
 mas[i] := i;
 write(mas[i]:3);
 end;
writeln;
writeln('------');
k:=1;
j:=0;
for i:=1 to n do
 begin
  if j = k then
    begin
    j := 0;
    inc(k);
    end;
  inc(j);
 end;
{-------}
a := 1;
for i:=1 to k do
  for j:=i to k do
    begin
    matr[i,j] := mas[a];
    matr[j,i] := mas[a];
    inc(a);
    end;
{------}
for i:=1 to k do
  begin
  for j:=1 to k do
    write(matr[i,j]:4);
  writeln;
  end;
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 22.01.2009, 18:23   #3
perojenko
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 19
По умолчанию

сорри там должно быть
а1, a2, a3, a4
a5, a6, a7, a8,
a9, a10, a11, a12
a13, a14, a15, 16

получается надо сделать так что бы а2=а5 а3=а9 а4=а13 а7=а10 а8=а14 а12=а15
вот я и не знаю как так сделать((
perojenko вне форума Ответить с цитированием
Старый 22.01.2009, 18:34   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вторая:
Код:
uses crt;
const n=4;
var
matr : array[1..n,1..n] of integer;
i,j,sum1,sum2 : integer;
begin
clrscr;
randomize;
for i:=1 to n do
 begin
 for j:=1 to n do
   begin
   matr[i,j] := random(20);
   write(matr[i,j]:4);
   end;
 writeln;
 end;
writeln('----------');
{-------}
sum1:=0;
sum2:=0;

for i:=1 to n do
  for j:=i+1 to n do
   sum1:= sum1 + matr[i,j];
{------}
for i:=1 to n do
  for j:=n downto n-i+2 do
   sum2 := sum2 + matr[i,j];

writeln('sum1 = ',sum1);
writeln('sum2 = ',sum2);

readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 22.01.2009, 18:38   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Про первую задачу:
1
Цитата:
. Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником
Раз относительно главной диагонали, значит нам дано что-то такое:
Код:
1 2 3  4   5
   6 7  8   9
     10 11 12
          13 14  
               15
Цитата:
в виде одномерного массива
то есть..
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Цитата:
востановить исходную и напечатать по строкам.
Что я и сделал..
Если бы матрица была задана, как вы сказали, то ее половину просто нельзя было бы восстановить.
Смотрите сами:
Есть матрица:
Код:
   1   2   3   4   5
   2   6   7   8   9
   3   7  10  11  12
   4   8  11  13  14
   5   9  12  14  15
Если взять элементы над побочной диагональю (как вы указали), то одномерный массив будет:
1 2 3 4 5 2 6 7 8 3 7 10 4 8 5
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 22.01.2009 в 18:41.
Sazary вне форума Ответить с цитированием
Старый 22.01.2009, 18:45   #6
perojenko
Пользователь
 
Регистрация: 22.01.2009
Сообщений: 19
По умолчанию

уяснил))) спасибо за помощь)
perojenko вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение матрицы методом союзной матрицы dofmat Помощь студентам 6 03.10.2011 15:01
Квадратные массивы Janette Помощь студентам 6 06.04.2008 22:02
матрицы tonic Microsoft Office Excel 2 10.01.2008 14:47
Найти в массиве квадратные корни наиболее удаленные друг от друга sher_man Помощь студентам 2 05.12.2007 10:15