Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
DIOLLlA
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 21
1

Выясните, стоят ли в матрице два нуля рядом по горизонтали или вертикали

24.01.2013, 21:19. Просмотров 769. Ответов 4
Метки нет (Все метки)

Помогите решить
Двумерный массив n на n заполнен 0,1 и 2. Выясните, стоят ли в нем два нуля рядом по горизонтали или вертикали
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2013, 21:19
Ответы с готовыми решениями:

Определить, имеются ли в матрице четыре смежных элемента по горизонтали, вертикали или диагонали.
Элементами квадратной матрицы являются цифры 0, 1, ..., 9. Определить, имеются...

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

Создать два набора волн, которые перекрещиваются по горизонтали и вертикали
"Волны" - динамический процесс с корректировками за граничными условиями....

В квадрате 3х3 расположить числа 1, 2, 3, чтобы сумма чисел по вертикали, горизонтали и даигонали равнялась 6
Расстановка трех чисел. В каждой из 9 клеток квадрата размером 3х3 клетки...

В массиве A(mxn) каждый элемент заменить суммой непосредственно примыкающих к нему элементов по вертикали, горизонтали и диагоналям
В массиве A(mxn) каждый элемент (кроме граничных) заменить суммой...

4
Дикутенз
91 / 91 / 99
Регистрация: 25.01.2013
Сообщений: 307
26.01.2013, 13:58 2
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
Uses crt;
Label metka;
const n=3;
Type mas=array[1..n,1..n] of integer;
Var a:mas;
   Procedure VVOD(Var a:mas; n:integer);
   Var i,j:integer;
     Begin randomize;
       for i:=1 to n do
         for j:=1 to n do a[i,j]:=Random(3);
     End;
   Procedure PRINT (a:mas; n:integer);
   Var i,j:integer;
     Begin
       for i:=1 to n do
         Begin
           for j:=1 to n do Write(a[i,j]:4);
           WriteLn
         End;
     End;
   Procedure nuli_ryadom(a:mas);
   Var i,j,k:integer; nul:boolean;
     Begin
       nul:=false;
       for i:=1 to n do
         Begin
           k:=1;
           for j:=1 to n do
            if a[i,j]+k=0 then nul:=true
                          else k:=a[i,j];
         End;
       for j:=1 to n do
         Begin
           k:=1;
           for i:=1 to n do
            if a[i,j]+k=0 then nul:=true
                          else k:=a[i,j];
         End;
       if nul=true then Write('nuli ryadom stoyat')
                   else Write('nulei ryadom net');
     End;
Begin clrscr;
 VVOD(a,n);
 PRINT(a,n);
 nuli_ryadom(a);
 ReadLn;
End.
0
Puporev
Модератор
54590 / 42094 / 29064
Регистрация: 18.05.2008
Сообщений: 99,331
28.01.2013, 14:21 3
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
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of byte;
    n,i,j:byte;
    f:boolean;
begin
clrscr;
randomize;
repeat
write('Размер матрицы до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[i,j]:=random(3);
    write(a[i,j]:3);
   end;
  writeln;
 end;
writeln;
f:=false;
i:=1;
while (i<=n)and not f do
 begin
  j:=2;
  while(j<=n)and not f do
  if(a[i,j]=0)and(a[i,j-1]=0) then f:=true
  else j:=j+1;
  if not f then i:=i+1;
 end;
if not f then
 begin
  j:=1;
  while (j<=n)and not f do
   begin
    i:=2;
    while(i<=n)and not f do
    if(a[i,j]=0)and(a[i-1,j]=0) then f:=true
    else i:=i+1;
    if not f then j:=j+1;
   end;
 end;
if f then write('Есть 2 ноля рядом')
else write('Нет 2х нолей рядом');
readln
end.
1
DIOLLlA
0 / 0 / 0
Регистрация: 24.01.2013
Сообщений: 21
28.01.2013, 18:30  [ТС] 4
Большое спасибо

А можно ещё графический алгоритм?
0
Puporev
Модератор
54590 / 42094 / 29064
Регистрация: 18.05.2008
Сообщений: 99,331
28.01.2013, 19:05 5
Блок-схема по коду
1
Миниатюры
Выясните, стоят ли в матрице два нуля рядом по горизонтали или вертикали  
28.01.2013, 19:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 19:05

Выясните, имеются ли в матрице ненулевые элементы
Пусть дана целочисленная квадратная матрица порядка п. Выясните, имеются ли в...

Найти в матрице самую длинную цепочку подряд стоящих 0 по горизонтали или вертикали
Матрица состоит из 0 и 1. Найти в ней самую длинную цепочку подряд стоящих 0 по...

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


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

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

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