Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Pavel_1109
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 9
18.06.2013, 09:13     В массиве m x n проверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц #1
В массиве m x n проверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2013, 09:13     В массиве m x n проверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц
Посмотрите здесь:

C++ Выяснить имеется ли в одном массиве 3 подряд одинаковых элемента
C++ Проверить имеется ли в массиве эл-мы, содержащие хотя бы одну пару взаимно обратных чисел
Имеется ли в целочисленном массиве два идущих подряд нуля? C++
C++ Координаты заданного кол-ва шариков изменяются на случайную величину по вертикали и горизонтали.
Проверить, имеется ли в массиве число, введенное пользователем. Если да – вывести его индекс C++
Проверить, имеется ли в двумерном числовом массиве C++
Найти в матрице самую длинную цепочку подряд стоящих 0 по горизонтали или вертикали C++
Проверить два идущих подряд нуля в массиве C++
Проверить, имеется ли в заданном числовом массиве хотя бы одна пара чисел, совпадающих по величине. C++
C++ Определить, имеется ли в массиве три идущих подряд нулевых элементов
Проверить, имеется ли в массиве хотя бы одна пара чисел, являющихся противоположными по знаку C++
C++ Найдите в матрице самую длинную цепочку подряд идущих нулей по горизонтали и вертикали

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.06.2013, 10:16     В массиве m x n проверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц #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;
}
Yandex
Объявления
18.06.2013, 10:16     В массиве m x n проверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц
Ответ Создать тему
Опции темы

Текущее время: 05:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru