Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2009, 17:54   #1
anta
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 13
По умолчанию Задача на работу с двумерным массивом.Найти количество прямоугольников.

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

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

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

Заранее большое спасибо.
anta вне форума Ответить с цитированием
Старый 04.01.2009, 17:58   #2
anta
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 13
По умолчанию

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

Пользователь вводит что то вроде этого :
0000111110000000111100001
0000111110000000000000001
0000111110000000000000000
0000000000000000000000000
ответом будет 3 и прямоугольника.
написать надо на C++ Программа : Microsoft Visual Studio 2008.

Размерность 50*20 является максимальной ,можно же вводить и меньше чем 50*20.
anta вне форума Ответить с цитированием
Старый 04.01.2009, 18:26   #3
filosof_x86
...
Форумчанин
 
Аватар для filosof_x86
 
Регистрация: 01.06.2008
Сообщений: 134
По умолчанию

Какие вопросы, затруднения? Или все такие опять "ребят, поработайте за спасибо для совершенно незнакомого вам человека, дайте сразу код с ооочень подробными комментариями"? На что вы надеетесь в этой теме, ведь помощь – это участие двух сторон, но от вас пока кроме задания нет ничего?

MaTBeu, не закрывай эту тему, хотел бы услышать ответ от ее автора – все таки он (она?) не обделен(а?) серым веществом как те, кто даже не может нормально разъяснить свое задание...
А что касательно правил, пусть в следующем сообщении допишет все, что необходимо, предварительно прочитав (anta, сслыка для вас): http://programmersforum.ru/announcement.php?f=14
filosof_x86 вне форума Ответить с цитированием
Старый 04.01.2009, 19:59   #4
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

Тему во фриланс и делу конец... Так как уже понятно, что дело дальше просьб не сдвинется...

P.S. если дело касаемо алгоритма подсчета (отреченно от языка программирования), то давайте думать вместе, при каком условии увеличивать счетчик прямоугольников!!!

P.P.S
Цитата:
Пользователь вводит что то вроде этого :
0000111110000000111100001
0000111110000000000000001
0000111110000000000000000
0000000000000000000000000
Бедный пользователь... Мне его даже жалко! :*(
StarWorm вне форума Ответить с цитированием
Старый 05.01.2009, 01:44   #5
anta
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 13
По умолчанию

Вот программа вроди доделал :-)

Код:
#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;
}
Модератор: тег CODE

Последний раз редактировалось MaTBeu; 05.01.2009 в 14:43.
anta вне форума Ответить с цитированием
Старый 05.01.2009, 13:13   #6
StarWorm
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 233
По умолчанию

А точно правильно считает??? Или есть косячки в программе?
StarWorm вне форума Ответить с цитированием
Старый 05.01.2009, 15:23   #7
anta
Пользователь
 
Регистрация: 04.01.2009
Сообщений: 13
По умолчанию

Ну так то считает.Но косячки есть!
anta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача с двумерным массивом. svobodys Паскаль, Turbo Pascal, PascalABC.NET 0 14.12.2008 18:09
Задача в Delphi с двумерным массивом SirLionheART Помощь студентам 2 14.12.2008 13:11
Задача с двумерным массивом. svobodys Помощь студентам 3 13.12.2008 15:44
помогите пожалуйста с двумерным массивом Wi1D Помощь студентам 8 26.11.2008 23:04
задача с двумерным массивом Ras Помощь студентам 1 22.12.2007 19:58