| 
| 
 | Вопрос # 3 543/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Помогите, пожалуйста, решить задачи:
 1) Дана квадратная матрица. Переставить местами элементы над главной диагональю и под главной диагональю. Распечатать матрицу.
 
 2) Найти все числа из массива B(n), встречающиеся более чем в одной строке матрицы A(m, n).
 
 3) Удалить из массива А (n) нулевые элементы, передвинув на их место следующие элементы без нарушения порядка их следования. В результате должен получиться массив меньшего размера, не содержащий нулей.
 
 заранее огромное спасибо!!!!
 
|  |   Вопрос задала: kollen666 (статус: Посетитель)Вопрос отправлен: 17 декабря 2009, 20:51
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: webkent Здравствуйте, kollen666!Вот первое задание:
 Сейчас на работу надо бежать, так бы все сделал.
 Приложение:Переключить в обычный режим uses  SysUtils;var  begin    for j := 1 to 10 do  begin   a[i,j]:=Random(100);   write(inttostr(a[i,j]));   write(' ')     end;   writeln;   end;  writeln;     for j := 1 to 10 do begin    b[i,j]:=a[j,i];      write(inttostr(b[i,j]));         write(' ')   end;   writeln;  end;  readln;end.
|  | Ответ отправил: webkent (статус: 2-ой класс)Время отправки: 18 декабря 2009, 06:44
 
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 18 декабря 2009, 08:16; участников в обсуждении: 1. 
|   | webkent (статус: 2-ой класс), 18 декабря 2009, 08:16 [#1]:Вот 3-е задание, переводит все нули в -1 и перекидывает их в конец массива. Как совсем удалить элемент массива я не знаю. 
 
 uses
  SysUtils;
var
  A:array[0..10] of integer;
  i,j:integer;
begin
randomize;
 
  for i:=0 to 10 do
    A[i]:=Random(100);
//начало
  for i:=0 to 10 do
    if a[i]=0 then begin
      for j:=i to 9 do
        A[j]:=A[j+1];
      A[10]:=(-1);
    end;
//конец
  for i:=0 to 10 do write(' '+IntToStr(A[i]));
  Readln;
 
end. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |