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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
anta
1 / 1 / 0
Регистрация: 16.12.2008
Сообщений: 15
#1

Найти количество прямоугольников.Задача с двумерным массивом.. - C++

05.01.2009, 01:48. Просмотров 1198. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста с программой.

На квадратном клетчатом листе бумаги размером 50*20 клеток нарисовано несколько прямоугольников.Прямоугольники не накладываются друг на друга и не соприкасаются ни сторонами ни углами.

ЗАДАЧА: Задан двумерный массив 50*20 в котором элемент А[i] [j ]=1 ,если клетка
[i] [j ] принадлежит какому либо прямоугольнику, и А [i] [j ]=0 в противном случае
(не принадлежит).Написать программу ,подсчитывающую количество прямоугольников.

Добавлено через 51 минуту 58 секунд
Размерность 50*20 является максимальной ,можно же вводить и меньше чем 50*20.

Проверку на ввод массива ,как я понял делать не надо.(Прямоугольники не накладываются друг на друга и не соприкасаются ни сторонами ни углами.)
Пользователь вводит что то вроде этого :

0000111110000000111100001
0000111110000000000000001
0000111110000000000000000
0000000000000000000000000

ответом будет 3 и прямоугольника.

программу надо написать на c++.

Добавлено через 13 часов 22 минуты 16 секунд
Вот код.Вроди написал.
Код
#include "stdafx.h"        
#include <stdio.h>      
#include <conio.h>    
#include <ctype.h>   
#include <stdlib.h>
#include <math.h>


int _tmain(int argc, _TCHAR* argv[])
{int  A[51][21],i=0,j=0;
 int count = 0;

printf("\nVvedite elementi massiva\n");
for(i=0;i<50;i++)
{
  for(j=0;j<20;j++)
  {    printf("A[%d][%d]=",i,j);
    scanf_s("%d", &A[i][j]);
   }
}

printf("\nMassiv=\n\n");

for(i=0;i<50;i++)
{for(j=0;j<20;j++)
{    printf("%d\t",A[i][j]);}
    printf("\n");}

   for (int i=0; i<50; i++)
{
  for (int j=0; j<20; j++)
  {
    if ((A[i][j] == 1) && (A[i+1][j] == 0) && (A[i][j+1] == 0))
    {
      count++;    // Подсчитываем правые нижние углы
    }
  }
}
printf("\n\nkolichestvo - %d \n", count);
        
    

        getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2009, 01:48     Найти количество прямоугольников.Задача с двумерным массивом..
Посмотрите здесь:

Создать класс для работы с двумерным массивом вещественных чисел. В двоичной матрице найти совпадающие строки - C++
прошу помочь с решением задачи Создать класс для работы с двумерным массивом вещественных чисел. Разработать следующие элементы класса: ...

Функция работы с двумерным массивом - C++
Не могу вызвать функцию в основной программе. В задании перед массивом двумерным вообще требуется поставить 1 указатель,но так тоже не...

Координатная плоскость двумерным массивом - C++
Здравствуйте! скажите пожалуста можно ли сдлелать некий аналог координатной плоскости используя двумерный массив. То есть, чтобы имея...

Работа с динамическим двумерным массивом - C++
Написал код. В двумерном массиве 5х5 находится максимальное значение каждой строки и затем минимальное из них. Необходимо указывать...

ассоциативный массив map c двумерным массивом - C++
Искал информацию в интернете но безрезультатно. Необходимо сделать ассоциативный массив с со строковым ключом и двумерным массивом 3х3 в...

Создание типа данных схожего с двумерным массивом - C++
Изучаю сейчас ООП в С++, и в качестве жертвы выбрал создание нового типа данных аля матрица. Проблема в том, как сделать, чтобы с ним можно...

Работа с двумерным массивом - разобрать строку кода - C++
Изучаю С++ по книге Шилдт Г.(базовый курс 3-е издание). В теме двумерных массивов столкнулся со строкой, над которой сколько бы не ломал...

Легкая переделка для использования с двумерным массивом - C++
Изначально писал прогу для использования с одномерным массивом, но возникла потребность в использовании функции для каждой строки...

Ввести продажи книг за 3 года, пользуясь двумерным массивом - C++
Я только что здесь отписывался с этим заданием, но у меня возник еще один вопрос. Моя задача сделать прогу, которая предлагает пользователю...

Ошибка с памятью при работе с динамическим двумерным массивом - C++
Вроде всё правильно, но в ходе работы программа выдаёт ошибку(на скрине). Дело в двумерном динамическом массиве. Ниже код с функцией, куда...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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