Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
Нужна помощь со второй половиной задачи на матрицы
Уважаемые программисты! Помогите с задачкой, очень нужно)

Дан двумерный массив А(М,М) в виде квадратной матрицы. Составьте программу, обнуляющую главную диагональ матрицы, если в ней найдется хотя бы один отрицательный элемент. Из элементов побочной диагонали сформируйте одномерный массив и отсортируйте его по возрастанию методом Шелла (Shell Sort). Выведите на экран исходную и преобразованную матрицы и отсортированный массив.

первую часть программы написала(до красного шрифта):

const n=5;
var
a:array[1..n,1..n] of longint;
i,j:integer;
begin
writeln('Заполните матрицу ');
for i:=1 to n do
for j:=1 to n do
begin
read(a[i,j]);
end;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:5);
writeln;
end;
for i:=1 to n do
for j:=1 to n do
if i=j then
if a[i,j]<0 then
if i=j then
a[i,j]:=0;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:5);
writeln;
end;
end;
1 | Автор: TIMERA | 2012-06-16, 18:33   |  Репутация: [ + 0 ]
Не правильно будет работать..
До красного шрифта стоит писать вот так:
var
a:array[1..100,1..100]of integer;
n,i,j:byte;
l:boolean;
begin
read(n);
l:=false;
for i:=1 to n do
for j:=1 to n do begin
read(a[i,j]);
if i=j then if a[i,j]<0 then l:=true;end;
if l then
for i:=1 to n do
a[i,i]:=0;
end.

Формула побочной диагонали: j=n-i+1;
Сортировку можешь найти на этом сайте, по-моему там даже исходник есть)

"Спасибо" принимается в виде повышения репутации ( Зелёный плюсик:) ).Спасибо


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
2 | Автор: Berestovskiy | 2012-06-17, 21:46   |  Репутация: [ + 211 ]
я уже переделала и доделала её, когда выложила здесь, дошло до меня))
но всё равно спасибо, что откликнулся))
3 | Автор: TIMERA | 2012-06-17, 23:03   |  Репутация: [ + 0 ]
На здоровье)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
4 | Автор: Berestovskiy | 2012-06-20, 15:36   |  Репутация: [ + 211 ]
  • Страница 1 из 1
  • 1
Поиск: