0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 9
1

В массиве m x n проверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц

18.06.2013, 09:13. Показов 1452. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В массиве m x n проверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2013, 09:13
Ответы с готовыми решениями:

В массиве размером m x n поверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц
Help pls, очень срочно. Не могу понять как это всё сделать только нужно всё самым простым способом.

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

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

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

1
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.06.2013, 10:16 2
с адресной арифметикой интереснее решать эту задачу
C
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
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 10
#define N 15
#define K 5
 
void Init(int *a, int *end)
{
   if (a < end)
   {
      *a = rand() % 4;
      Init(a + 1, end);
   }
}
 
void Print(int a[M][N], int m, int n)
{
   int i, j;
   for(i = 0; i < m; ++i)
   {
      for(j = 0; j < n; ++j)
         printf("%4d", a[i][j]);
      putchar('\n');
   }
}
 
int Count1(int *a, int *end)
{
   return a < end && *a == 1 ? 1 + Count1(a + 1, end) : 0;
}
 
int Count2(int *a, int *end)
{
   return a < end && *a == 1 ? 1 + Count2(a + N, end) : 0;
}
 
int main()
{
   int a[M][N], i, j, flag = 0;
   srand(time(NULL));
   Init(*a, *a + M*N);
   Print(a, M, N);
   for(i = 0; i < M - K + 1; ++i)
      for(j = 0; j < N - K + 1; ++j)
         if (Count1(*(a + i) + j, *(a + i) + N) >= K || Count2(*(a + i) + j, *(a + M) + j) >= K)
            flag = 1;
   puts(flag ? "yes" : "no");
   return 0;
}
0
18.06.2013, 10:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2013, 10:16
Помогаю со студенческими работами здесь

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

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

Проверить лежат ли указанные квадраты на одной диагонали или вертикали или горизонтали
Квадраты в игре &quot;Крестики-нолики&quot; пронумерованы так, как показано ниже. 1 2 3 4 5 6 7 8 9 ...

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

Дана матрица a(m, n), состоящая из нулей и единиц. Найдите в ней квадратную подматрицу из одних единиц максима
Дана матрица a(m, n), состоящая из нулей и единиц. Найдите в ней квадратную подматрицу из одних...

Имеется ли в целочисленном массиве два идущих подряд нуля?
Имеется ли в целочисленном массиве два идущих подряд нуля? Ответ вывести в виде &quot;ДА&quot; или &quot;НЕТ&quot;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru