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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задачи на матрицы http://www.cyberforum.ru/cpp-beginners/thread20179.html
Дана целочисленная квадратная матрица. Определить:1)сумму элементов в тех столбцах, которые не содержат отрицательных элементов 2)минимум среди сумм модулей элементов диагоналей, паралельных побочной диагонали матрицы Заранее спасибо:wall:
C++ Побайтовый вывод значения типа double Есть решение задачи побайтового вывода значения типа double на экран. Объясните плиз каким образом это происходит. В частности функция: show_bits() и что записывается в массив С. Вот собственно код: #include <iostream> using namespace std; union bits { bits(double n); void show_bits(); http://www.cyberforum.ru/cpp-beginners/thread20175.html
Как задать размерность одномерного массива C++
Подскажите, пожалуйста, как задать размерность одномерного массива, чтобы ее можно было менять в зависимости от длины вводимой строки? str-строка текста, вводится с клавиатуры LenS=strlen(str); char Search;//выдает ошибку Можно ли размерность задавать не числом?
C++ Что означает и делает оператор ">>="
Глупый вопрос, но тем не менее. Что означает и делает оператор ">>=". Может есть русское описание?
C++ Считать из файла и поменять местами максимальное и минимальное слово http://www.cyberforum.ru/cpp-beginners/thread20159.html
помогите дописать задачу...нужно считать из файли и поменять местами максимальное и минимальное слово...я поменять не могу... вот мой код #include <iostream> #include<stdio.h> using namespace std; int main() { int i=0,max=0,min=1,r=0,k=0,l=0; char *ptr; char *s=new char; char *tmp, *tmp1;
C++ Ссылки и ассемблерные вставки Подскажите, пожалуйста, как внутри ассемблерной вставки на C++ снять адрес загрузки переменной, на которую ссылается ссылка. Заранее спасибо. подробнее

Показать сообщение отдельно
anta
1 / 1 / 0
Регистрация: 16.12.2008
Сообщений: 15

Найти количество прямоугольников.Задача с двумерным массивом.. - 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru