| Нужна помощь со второй половиной задачи на матрицы | 
|  | 
| 
| Уважаемые программисты! Помогите с задачкой, очень нужно) 
 Дан двумерный массив А(М,М) в виде квадратной матрицы. Составьте программу, обнуляющую главную диагональ матрицы, если в ней найдется хотя бы один отрицательный элемент. Из элементов побочной диагонали сформируйте одномерный массив и отсортируйте его по возрастанию методом Шелла (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;
 |  
|  |  | 
| 
| Не правильно будет работать.. До красного шрифта стоит писать вот так:
 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
 |  
|  |  | 
| 
| я уже переделала и доделала её, когда выложила здесь, дошло до меня)) но всё равно спасибо, что откликнулся))
 |  
|  |  | 
| 
| На здоровье) 
 Нужна помощь? Сюда: vkontakte.ru/berestovskiy
 |  
|  |  |