Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740

Выяснить сколько в массиве непересекающихся прямоугольников.

26.05.2014, 14:57. Показов 1537. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Дана задача(см.изображение). Вот я пытаюсь написать программу.
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main()
{
    int n,m,i,j,s=0;
    FILE *c;
    FILE *d;
 
    c = fopen("rect.dat", "w");
 
    if(c == 0)
        printf("Error");
    else{
        scanf("%d %d", &n, &m);
        int **a = new int*[n];
        for(i = 0;i < n;i++)
            a[i] = new int[m];
        for(i = 0;i < n;i++){
            for(j = 0;j < m;j++){
                printf("%d ", a[i][j] = rand() % 2);
            }
            printf("\n");
        }
        for(i = 0;i < n;i++){
            for(j = 0;j < m;j++){
                if(a[i][j] = 1)
                else if(
    fclose(c);
 
    d = fopen("rect.dat", "r");
    if(d == 0)
        printf("Error");
    else{
        fscanf(c,"%d", &s);
        printf("%d",s);
    }
        fclose(d);
 
        getch();
 
        return 0;
}
Я понимаю, что нужно пройтись циклом по массиву и проверить количество заготовок. Я уже сделал одну проверку.
C++
1
if(a[i][j] = 1)
Но вот что написать в else if на тот случай, если единиц несколько и они все рядом - не могу понять. Помогите, если не трудно.
Миниатюры
Выяснить сколько в массиве непересекающихся прямоугольников.  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2014, 14:57
Ответы с готовыми решениями:

Выяснить, сколько в двумерном массиве нечетных элементов
Дан двумерный массив 5x5. Выяснить, сколько в двумерном массиве нечетных элементов.

Выяснить, сколько равных по величине чисел в массиве
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #define N 10 void main() { int a; int n; int b; int c; int i,j,k;

Выяснить сколько раз в массиве встречается элемент равный 0
1)Дан одномерный массив целых чисел, выяснить сколько раз в нем встречается элемент равный 0

9
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
26.05.2014, 14:58  [ТС]
Извините, саму задачу не добавил.

Урфин Джюс решил смастерить свое деревянное войско. Прежде чем делать солдата, Урфин рисует на прямоугольном листочке в клеточку все заготовки, которые для этого необходимы. Каждая заготовка представляет собой прямоугольник. Причем нарисованные прямоугольники не пересекаются и даже не соприкасаются между собой (то есть не имеют общих точек). Определите, сколько заготовок нарисовал Урфин Джюс.

Формат входного файла rect.dat

Текстовый файл rect.dat содержит несколько строк. В первой строке записаны два целых числа N и M, разделенные пробелом (1 ≤ N, M ≤ 1000) — размеры прямоугольного листа в клеточку. N — это количество строк, M — количество столбцов.

Каждая из последующих N строк файла содержит ровно M чисел, разделенных пробелами. Каждое из чисел соответствует клетке листа и равно либо 0, если соответствующая клетка не занята заготовкой, либо 1, если соответствующая клетка принадлежит какой-либо заготовке.
Формат выходного файла rect.sol

Текстовый файл rect.sol должен содержать единственное целое число — количество заготовок, которое Урфин Джюс нарисовал на своем листке в клеточку.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
26.05.2014, 15:36
Sh@dow777, вот, когда-то придумалось, почитайте: Найти площадь крупнейшего сплошного прямоугольника суши
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
26.05.2014, 15:51  [ТС]
SatanaXIII, Разве задача такая запутанная? Я учусь во втором семестре 1-го курса. Я не думал, что задачи такие сложные будут. И мне нужно найти не только количество прямоугольников, но еще и одиночных единиц.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
26.05.2014, 16:17
Sh@dow777, чего запутанного? Там подробно расписанный алгоритм, с рабочим кодом. С картинками.
Если вы конечно придумаете менее запутанно, то я буду только рад.
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
26.05.2014, 16:58  [ТС]
SatanaXIII, Я имею в виду, что у меня немного другая задача. Там вы ищете площадь, а мне нужно количество. Скажите, мой недописанный код совсем неверный? И если отчасти верный, то как его закончить?
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
26.05.2014, 17:04
Цитата Сообщение от Sh@dow777 Посмотреть сообщение
Там вы ищете площадь, а мне нужно количество.
Разница-то невелика. Я там перебираю все и нахожу площадь. Вам же нужно перебрать все и посчитать количество.

Цитата Сообщение от Sh@dow777 Посмотреть сообщение
Скажите, мой недописанный код совсем неверный? И если отчасти верный, то как его закончить?
Вы его словами опишите лучше - что вы делаете? А-то у меня сейчас слишком жарко, чтобы вчитываться в код.
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
26.05.2014, 17:25  [ТС]
SatanaXIII, Ну вообщем я прохожу по массиву циклом и делаю проверки. Первая проверка
C++
1
if(a[i][j] = 1)
на случай когда в массиве одиночные единицы. А вот как еще прямоугольники подсчитать - не могу додумать.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
26.05.2014, 17:35
Цитата Сообщение от Sh@dow777 Посмотреть сообщение
C++
1
if(a[i][j] = 1)
==
0
17 / 17 / 6
Регистрация: 10.12.2013
Сообщений: 740
26.05.2014, 17:49  [ТС]
Kuzia domovenok, А ну да, я все время путаю = и == Может быть вы мне скажете, правильно ли я начал писать программу?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.05.2014, 17:49
Помогаю со студенческими работами здесь

Выяснить сколько раз встречается в массиве A[n,m] максимальный элемент?
Выяснить сколько раз встречается в массиве A максимальный элемент

Выяснить сколько раз встречается в массиве минимальное число
Дан массив чисел A.Выяснить сколько раз встречается в нем минимальное число.

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

Дан одномерный массив A[12],элементы которого вводятся с клавиатуры.Выяснить сколько нечётных элементов в массиве.
Народ помогите два кода написать очень срочно надо,вот задачи. 1)Дан одномерный массив A,элементы которого вводятся с клавиатуры.Выяснить...

Определить в массиве А (Н) количество последовательных непересекающихся пар чисел
Определить в массиве А(Н) количество последовательных непересекающихся пар чисел, в которых первое число больше второго. По-менять местами...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru