Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
blackxs
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 10
#1

Определить в матрице длину самой длинной цепочки подряд стоящих нулевых элементов по горизонтали - Turbo Pascal

13.06.2010, 17:43. Просмотров 716. Ответов 2
Метки нет (Все метки)

Матрица A[n;m] состоит из нулей и единиц. Какова в ней длина самой длинной цепочки подряд стоящих нулевых элементов по горизонтали, вертикали и диагонали(главной и побочной)
http://www.cyberforum.ru/turbo-pascal/thread438450.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2010, 17:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить в матрице длину самой длинной цепочки подряд стоящих нулевых элементов по горизонтали (Turbo Pascal):

Определить число элементов самой длинной упорядоченной по возрастанию цепочки
Дан одномерный массив целых чисел, определить число элементов самой длинной,...

Дана символьная строка. Определить длинну самой длинной подстроки из подряд стоящих букв "а".
Помогите пожалуйста!!! Дана символьная строка. Определить длинну самой длинной...

Дана символьная строка. Определить длину самой длинной подстроки из подряд идущих букв "а"
Дана символьная строка. Определить длину самой длинной подстроки из подряд...

Найти длину самой длинной цепочки одинаковых чисел, идущих подряд
В файле data.txt записаны числа, сколько их – неизвестно. Найти длину самой...

Определить длину самой длинной последовательности подряд идущих нулей
составить процедуру для определения длины самой длинной последовательности...

2
XTen
28 / 26 / 0
Регистрация: 27.11.2009
Сообщений: 103
13.06.2010, 17:54 #2
Пиши реализую
ISQ: 410691984
0
Lyohich84
178 / 177 / 163
Регистрация: 30.04.2010
Сообщений: 260
13.06.2010, 21:32 #3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

У меня пара вопросов:

1.есть ли в прямоугольной матрице главная и побочная диагонали? Если они только в квадратной матрице, то программу подправите сами. (Заключите соответствующие строки в условие if n=m then и удалите строки, в которых m сравнивается с n)

2.Вам надо искать самую длинную цепочку отдельно по горизонтали, вертикали и диагоналям (т.е вывести 4 значения) или самую длинную цепочку среди них всех вместе взятых (т.е вывести одно значение)? Если второе, программу подправите сами. (удалите строки, где x:=0 кроме первого случая и строки, в которых выводится значения x, кроме последней, которую скорректируйте.)


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
program massiv;
uses crt;
var
i,j,m,n:byte;
k,x:integer;
a:array[1..100,1..100] of byte;
begin
clrscr;
randomize;
write('n=');readln(n);
write('m=');readln(m);
for i:=1 to n do
 for j:=1 to m do
  a[i,j]:=random(2);
writeln('Massiv');
for i:=1 to n do
 begin
  for j:=1 to m do
   write(a[i,j]:3);
  writeln;
 end;
 
x:=0;
 
{Po strokam}
for i:=1 to n do
 begin
  k:=0;
 for j:=1 to m do
  begin
   if a[i,j]=0 then k:=k+1;
   if (a[i,j]=1) or (j=m) then
   begin
    if k>x then x:=k;
    k:=0;
   end;
  end;
 end;
 writeln('Samaya dlinnaya cepochka podryad stoyashih 0 po goriz=',x);
 
{po stolbcam}
x:=0;
for j:=1 to m do
 begin
  k:=0;
 for i:=1 to n do
  begin
   if a[i,j]=0 then k:=k+1;
   if (a[i,j]=1) or (i=n) then
   begin
    if k>x then x:=k;
    k:=0;
   end;
  end;
 end;
writeln('Samaya dlinnaya cepochka podryad stoyashih 0 po vertikali=',x);
 
{po glavnoy diag}
k:=0;x:=0;
if n>m then n:=m;
for i:=1 to n do
 begin
 if a[i,i]=0 then k:=k+1;
 if (a[i,i]=1) or (i=n) then
  begin
   if k>x then x:=k;
   k:=0;
  end;
 end;
writeln('Samaya dlinnaya cepochka podryad stoyashih 0 po glavnoy diag=',x);
 
{Po pobochnoy}
k:=0;  x:=0;
if m<n then n:=m;
for i:=1 to n do
 begin
  if a[i,m-i+1]=0 then k:=k+1;
  if (a[i,m-i+1]=1) or (i=n) then
  begin
   if k>x then x:=k;
   k:=0;
  end;
 end;
writeln('Samaya dlinnaya cepochka podryad stoyashih 0 po pobochnoy diag=',x);
 
readln
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2010, 21:32
Привет! Вот еще темы с решениями:

Найти длину самой длинной последовательности подряд идущих элементов массива
Помогите написать программу:Задан целочисленный массив A(N). Найти длину самой...

Определить длину самой длинной подстроки
Напишите программу, которая определяет длину самой длинной подстроки из подряд...

В тексте определить длину самой длинной группы цифр
Пусть дан текст каждый символ которого может быть латинской буквой,цифрой или...

Найти длину самой большой группы подряд идущих одинаковых элементов последовательности
Выполнить поиск, используя однопроходные алгоритмы: Найти длину самой большой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru