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

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

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

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

05.01.2009, 01:48. Просмотров 1195. Ответов 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++ Ввести продажи книг за 3 года, пользуясь двумерным массивом
C++ ассоциативный массив map c двумерным массивом
C++ Работа с двумерным массивом - разобрать строку кода
C++ Легкая переделка для использования с двумерным массивом
Создать класс для работы с двумерным массивом вещественных чисел C++
Вывод числа из файла с двумерным массивом, но только один раз C++
Создать класс для работы с двумерным массивом вещественных чисел. В двоичной матрице найти совпадающие строки C++
Создание типа данных схожего с двумерным массивом C++
C++ Функция работы с двумерным массивом
Функции для работы с двумерным массивом: ввод, вывод, транспонирование C++
Как правильно переделать программу с двумерным массивом под работу с указателями? C++
Работа с динамическим двумерным массивом C++

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

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

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