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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Разработать класс, набор методов. Объект «таблица содержащая два столбца - номер телефона и фамилию абонента» http://www.cyberforum.ru/cpp-beginners/thread905149.html
Разработать класс, набор методов (конструктор, деструктор и указаны методы) для программной модели заданного объекта. Описание объекта и его основных свойств приводится ниже. Привести программу (int main), использующая объекты разработанного класса: Объект «таблица содержащая два столбца - номер телефона и фамилию абонента». Конструктор задает размер таблицы. Реализовать метод ADD и GET -...
C++ Программно пронумеровать в блокноте строки и удалить строку с заданным номером Создать текстовый файл и напечатать в нем не менее 5 строк (можно на английском), включающие буквы, цифры и т.д. Требуется: программно пронумеровать в блокноте строки и удалить строку с заданным номером (сами задаем номер с клавиатуры) Молю о помощи!!! http://www.cyberforum.ru/cpp-beginners/thread905146.html
C++ Запросите у пользователя две даты в виде года,месяца и числа. Определите более раннюю дату
Запросите у пользователя две даты в виде года,месяца и числа. Определите более раннюю дату. Обработайте все возможные ошибки пользователя, считая номера годов, кратные четырем-високосными, то есть с датой 29 февраля.
C++ Программа с функцией для суммирования значений одного столбца свободного массива
Требуется написать программу с функцией: Программа с функцией для суммирования значений одного столбца свободного массива(динамического двумерного). Помогите пожалуйста, не понимаю в массивах ничего(((
C++ Необходимо составить программу для расчёта функции http://www.cyberforum.ru/cpp-beginners/thread905132.html
необходимо составить программу в visual c++ для расчёта функции. Условие на изображении по ссылке
C++ Факториал (решено) Задача из книги Дейтелов (4.35): Напишите программу, которая приближенно вычисляет значение математической константы e, используя формулу: e=1+ 1/1! + 1/2! + 1/3! ...... Попросить ввести пользователя нужную точность (т. е. число суммируемых членов ряда). Мой код #include <iostream> using namespace std; int main() подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.06.2013, 10:16     В массиве m x n проверить, имеется ли по горизонтали и вертикали цепочка, состоящая подряд из 5 единиц
с адресной арифметикой интереснее решать эту задачу
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;
}
 
Текущее время: 01:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru