Помощь - Поиск - Пользователи - Календарь
Полная версия: двумерные массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Сюзик
Срочно надо решить задачки, а в двумерных массивах я ничего не понимаю sad.gif . Если вам не трудно помогите пожалуйста!!!
1.Задан двумеpный массив А из N стpок и М столбцов. Задан одномеpный массив В из тpех злементов. Указать номеpа стpок массива А, в котоpых есть фpагмент элементов, повтоpяющий массив В.
2.Задан двумеpный массив А из N стpок и М столбцов. Отдельно составить матрицу Х из тех строк матрицы А, для которых всякий элемент имеет равного ему соседа слева или справа.
volvo
1.
Код

const
 n = 3;
 m = 5;

 (* данные для тестирования
 a =
   1, 2, 3, 4, 5
   2, 3, 4, 5, 6
   3, 4, 5, 6, 7

 b =
   2, 3, 4
 *)

var
 a: array[1 .. n, 1 .. m] of integer;
 b: array[1 .. 3] of integer;

var
 i, j, k, found: integer;
 nextLine: boolean;
begin
 for i := 1 to n do
   for j := 1 to m do
     begin
       write('a[', i, ',', j, '] = ');
       readln(a[i, j])
     end;
 for i := 1 to 3 do
   begin
     write('b[', i, '] = ');
     readln(b[i])
   end;

 for i := 1 to n do
   begin
     j := 1; nextLine := false;
     while (j <= m - 3) and not nextLine do
       begin
         found := 0;
         for k := 1 to 3 do
           inc(found, byte(a[i, j+k-1] = b[k]) );
         if found = 3 then
           begin writeln( 'line: ', i ); nextLine := true end
         else inc(j)
       end;
   end;
end.
mithquessir
2.
Код

const
    n = 4;
    m = 4;
    a:array[1..n,1..m] of integer = ((2,2,3,3),(3,3,3,3),(4,4,5,7),(4,4,6,6));

    t:boolean = false;
var
    x:array[1..n,1..m] of integer;
    i,j,k,x_:integer;
begin
    for i := 1 to n do
    begin
         for j := 1 to m do
         if ((a[i,j] = a[i,j+1]) and (j < m)) or ((a[i,j] = a[i,j-1]) and (j > 1)) then
         t := true
         else
         begin
              t := false;
              break;
         end;
         if t then
         begin
              inc(x_);
              for k := 1 to m do
              x[x_,k] := a[i,k];
         end;
    end;
    for i := 1 to x_ do
    begin
         WriteLn;
         for j := 1 to m do
         Write(x[i,j]);
    end;
end.


volvo
Исправь пост, ты первую решал, а написал, что вторую. ;)

Бывает... Спасибо
Котёнок
Помогите пожалуйста решить двумерный массив. Буду очень благодарна.
Дан двумерный массив A[1..M,1..N]. Найти номер столбца, в котором находится наибольший минимальный положительный элемент.

 ! 
Не надо постить свои задачи в чужие темы!
Открывай новую тему по всем правилам. Lapp

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.