IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> двумерные массивы, 2 задачки
Сюзик
сообщение 9.12.2004 21:39
Сообщение #1


Гость






Срочно надо решить задачки, а в двумерных массивах я ничего не понимаю sad.gif . Если вам не трудно помогите пожалуйста!!!
1.Задан двумеpный массив А из N стpок и М столбцов. Задан одномеpный массив В из тpех злементов. Указать номеpа стpок массива А, в котоpых есть фpагмент элементов, повтоpяющий массив В.
2.Задан двумеpный массив А из N стpок и М столбцов. Отдельно составить матрицу Х из тех строк матрицы А, для которых всякий элемент имеет равного ему соседа слева или справа.
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов(1 - 3)
volvo
сообщение 9.12.2004 21:56
Сообщение #2


Гость






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.


Сообщение отредактировано: volvo - 10.12.2004 18:35
 К началу страницы 
+ Ответить 
mithquessir
сообщение 10.12.2004 18:04
Сообщение #3


Гость






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
Исправь пост, ты первую решал, а написал, что вторую. ;)

Бывает... Спасибо

Сообщение отредактировано: volvo - 10.12.2004 18:36
 К началу страницы 
+ Ответить 
Котёнок
сообщение 3.04.2007 18:02
Сообщение #4


Гость






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

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

 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 22:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"