Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ std::string Трим https://www.cyberforum.ru/ cpp-beginners/ thread95873.html
Как сделать трим (вырезание из начала\конца строки лишних символов таких как пробелы, табуляции...) в std::string? Я недавно нашёл у себя в коде такое: void LTrim(std::string* String, const char* Trim) { int i = 0; while ( Trim ) { // Если текущий символ - трим-символ if ( (*String) == Trim ) { //удаляем его и начинаем проверку заново
C++ Есть ли такие утилиты.
Я ищу утилиты которые позволяют находить утечки памяти... У меня возник вопрос есть ли программные утилиты(подобного рода), которые подключаются к VC++ 6.0. или VS 2008. Если такие утилиты существуют поставьте ссылку на ресурс от куда можно взять хотя бы одну такую утилиту. please...
C++ С++ Win32 API https://www.cyberforum.ru/ cpp-beginners/ thread95849.html
Подскажите книгу с самым доступным объяснением по данной теме. Что-то в роде "С++ за 21 день" только по Win32. Для чайников так сказать... :) Заранее спасибо.
C++ Подскажите книжку https://www.cyberforum.ru/ cpp-beginners/ thread95843.html
Привет всем..Я в C++ новичёк... но я хорошо соображаю и очень хочу научится.У меня есть Книга "С++ для чайников" но в ней нет задач чтобы программировать и там много написано непонятно и я кое где не понимаю... Пожалуйста подскажите мне Книжку написанную удобно и понятно с задачами на каждую тему..(Желательно книжку которая помогла вам подняться с нулевого уровня) P.S. Я думаю такие темы уже...
C++ вопрос по структурам
Я начал писать программу на следующию задачу Описать структуру с именем STUDENT, содержащую следующие поля: -Фамилия и инициалы -Номер группы -Успеваемость(массив из 5ти элементов). Написать программу выполняющую следующие действия: -Ввод с клавиатуры данных в массив, состоящий из 10ти структур типа STUDENT:записи должны быть упорядочены по возрастанию среднего балла; -Вывод на дисплей...
C++ Проход по квадрату Вот такая задачка! Помогите чем можете!!!!!! Пройдите в квадрате от клеточки 1 к клеточке 2 так, чтобы посетить все клеточки по одному разу, не попадая в черных. https://www.cyberforum.ru/ cpp-beginners/ thread95832.html
C++ Функции... https://www.cyberforum.ru/ cpp-beginners/ thread95829.html
Помогите плз решить, я не программист не знаю как решается) Спасибо благодарен !) воть задача: Определить значение z=min(a,3b)*min(2a-b,2b), где min(x,y) - минимальное из чисел x,y. Задачу решить двумя способами. 1)не используя функцию min. 2)определив и использовав функцию min. Кому не трудно помогите)
C++ Программа перевода числа из 10 СС в 2 СС
У Дейтлов есть задача: Напишите программу, которая печатает таблицу двоичных, восьмеричных и шестнадцатеричных эквивалентов десятичных в диапазоне от 1 до 256. Они предлагают следующие инструкции по переводу чисел: 10 СС -> 2 СС 10 СС -> 8 СС
C++ Иерархия классов: "Ювелирное украшение", "Цепочка", "Кольцо" помогите с классами, базовый класс-ювелирное украшение производный телевизор и стиральная машина в классе не должно быть виртуальных функций https://www.cyberforum.ru/ cpp-beginners/ thread95822.html C++ Пошаговая компиляция в Borland 5.01 Всем привет. С недавнего времени при пошаговой компиляции программки(F7) начало выскакивать окно CPU и пошаговость происходит не в окне программы, а в этом долбанном CPU. До самой программы дойти нереально. Не понимаю что происходит? Раньше все было нормально и проверял программу с помощью F7 без проблем. Программу пишу для математических расчетов и поэтому пошаговость очень важна т.к.... https://www.cyberforum.ru/ cpp-beginners/ thread95816.html
C++ Найти с заданной точностью знач. выражения
Составить функцию возвращающую значение для решения представленной ниже задачи: Найти с заданной точностью значения выражения s=сумма ряда(x^n/n!); n от 1 до бесконечн.; Точность<=10^-4; |x|<1; Помогите не понимающему экономисту) оч прошу!
C++ вывод текста, определение количество слов в тексте, у которых первый и последний символы совпадают. https://www.cyberforum.ru/ cpp-beginners/ thread95787.html
Здравствуйте. Прошу пожалуйста мне помочь с написанием этой программы. Всем за ранее огромное спасибо! Вы спасёте мне жизнь. =) Условие: Ввод данных осуществляется из файла с расширением .DAT. Использовать ТОЛЬКО библиотечные функции ввода/вывода СИМВОЛА. Исходный текст и результат работы программы выводятся на экран. Нельзя использовать функции библиотеки в файле string.h Нельзя...
24 / 24 / 6
Регистрация: 03.01.2010
Сообщений: 68
0

Максимальная площадь прямоугольника из матрицы. - C++ - Ответ 546599

15.02.2010, 18:04. Показов 5906. Ответов 9
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, никак не могу понять, что не так.

Есть матрица чисел заполненная нулями и единицами.
Нужно найти прямоугольник, состоящий из нулей и обладающий максимальной площадью.

Вот мой код (рабочий):
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* Описание:    Данная программа предназначена для поиска в текстовом
                файле прямоугольника, целиком состоящего из нулей,
                с максимальной площадью. */
 
/*............................ЗАГОЛОВОЧНЫЕ ФАЙЛЫ.............................*/
 
#include <stdio.h>
#include <iostream>
using namespace std;
 
/*.........................МОДУЛИ, ДЕФАЙНЫ И ПРОЧЕЕ..........................*/
 
#define WIDTH 10
#define HEIGHT 10
 
/*...............................ТОЧКА ВХОДА.................................*/
 
int main(){
 
    FILE *input=fopen("input.txt","r");    // Открыть файл "input.txt"на чтение.
 
    int Mas[WIDTH][HEIGHT];    // Объявление массива (с ним мы и работаем).
    int Area=0, MaxArea=0;    // Объявление переменных "Площадь", "Макс. Площадь".
    int CurI, CurJ;
    int Width=0, Height=0;
 
    /* Считываем данные из файла "input.txt" в массив. */
    for(int i=0;i<HEIGHT;i++){
        for(int j=0;j<WIDTH;j++){
            fscanf(input,"%d",&Mas[i][j]);
        }
    }
    /* Находим в массиве прямоугольник из нулей с максимальной площадью. */
    for(int l=0;l<HEIGHT;l++){
        for(int k=0;k<WIDTH;k++){
            
            CurI=l;
            CurJ=k;
            
            while (Mas[CurI][CurJ]==0){
                CurJ++;
                Width++;
            }
            
            CurI=l;
            CurJ=k;
            
            while (Mas[CurI][CurJ]==0){
                CurI++;
                Height++;
            }
            Area=Width*Height;
 
            if(MaxArea<Area)
                MaxArea=Area;
 
            Area=0;
            Width=0;
            Height=0;
        }
    }
    
    cout << "     TA-DA!" << "\n\n";
    cout << "Maximum Area = " << MaxArea << "\n\n";
    return 0;
}

Его нужно переделать его так, чтоб память под массив выделялась динамически.
Я наваял вот это, но оно не работает:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/* Описание:    Данная программа предназначена для поиска в текстовом
                файле прямоугольника, целиком состоящего из нулей,
                с максимальной площадью. */
 
/*............................ЗАГОЛОВОЧНЫЕ ФАЙЛЫ.............................*/
 
#include <stdio.h>
#include <iostream>
using namespace std;
 
/*.........................МОДУЛИ, ДЕФАЙНЫ И ПРОЧЕЕ..........................*/
 
#define WIDTH 10
#define HEIGHT 10
 
/*...............................ТОЧКА ВХОДА.................................*/
 
int main(){
 
    FILE *input=fopen("input.txt","r");    // Открыть файл "input.txt"на чтение.
 
    int x;
 
    int **Mas;
    // Выделение памяти для двумерного массива.
    // Создание массива указателей на строки массива.
    Mas = (int **) malloc(HEIGHT * sizeof(int *));
    // Цикл выделения памяти на каждую строку массива.
    for(x = 0; x < HEIGHT; x++) {
        // Присвоение указателю адреса начала участка памяти, выделенного под строку массива.
        Mas[x] = (int *) malloc(WIDTH * sizeof(int));
    }
 
    int Area=0, MaxArea=0;    // Объявление переменных "Площадь", "Макс. Площадь".
    int CurI, CurJ;
    int Width=0, Height=0;
 
    /* Считываем данные из файла "input.txt" в массив. */
    for(int i=0;i<HEIGHT;i++){
        for(int j=0;j<WIDTH;j++){
            fscanf(input,"%d",&Mas[i][j]);
        }
    }
    /* Находим в массиве прямоугольник из нулей с максимальной площадью. */
    for(int l=0;l<HEIGHT;l++){
        for(int k=0;k<WIDTH;k++){
            
            CurI=l;
            CurJ=k;
            
            while (Mas[CurI][CurJ]==0){
                CurJ++;
                Width++;
            }
            
            CurI=l;
            CurJ=k;
            
            while (Mas[CurI][CurJ]==0){
                CurI++;
                Height++;
            }
            Area=Width*Height;
 
            if(MaxArea<Area)
                MaxArea=Area;
 
            Area=0;
            Width=0;
            Height=0;
        }
    }
    
    cout << "     TA-DA!" << "\n\n";
    cout << "Maximum Area = " << MaxArea << "\n\n";
 
    // Освобождение памяти из-под двумерного массива.
    // Цикл освобождения памяти от каждой строки массива.
    for(x = 0; x < HEIGHT; x++)
    free(Mas[x]);
    // Освобождения памяти из-под массива указателей.
    free(Mas);
    return 0;
}
Что я делаю не так?


Вот матрица:
0 0 0 1 1 0 0 1 1 1
0 0 0 1 1 0 0 1 1 1
0 0 0 1 1 0 0 1 1 1
1 1 1 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0

Вернуться к обсуждению:
Максимальная площадь прямоугольника из матрицы. C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2010, 18:04
Готовые ответы и решения:

Максимальная площадь прямоугольника в stringgrid
Ребята, помогите!!:cry:Мучаюсь уже 4 день, ничего не получается :( 1) Найти прямоугольник с...

Максимальная площадь прямоугольника, вписанного в треугольник
Такая задача. Дано треугольное отверстие и кирпич. Треугольник - равносторонний. Нужно узнать, при...

Известны координаты вершин прямоугольника ABCD , A(x1,y1), B(x2,y2), C(x3,y3). Найти площадь и периметр прямоугольника.
как решить эту задачу с помощью delphi? Известны координаты вершин прямоугольника ABCD , A(x1,y1),...

Ввести площадь и периметр прямоугольника. Вывести длины сторон этого прямоугольника
Помогите написать программу... Пользователь водит прямоугольника площадь и периметр. Надо...

9
15.02.2010, 18:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2010, 18:04
Помогаю со студенческими работами здесь

Известны вершины прямоугольника. Найти площадь и периметр прямоугольника
Известны координаты вершин прямоугольника ABCD , A(x1,y1), B(x2,y2), C(x3,y3). Найти площадь и...

Написать функцию, которая вычисляет площадь прямоугольника. Параметрами функции должны быть длина и ширина прямоугольника
24) Написать функцию, которая вычисляет площадь прямоугольника. Параметрами функции должны быть...

Написать процедуру, которая вычисляет площадь прямоугольника. Параметрами процедуры должны быть длина, ширина прямоугольника и переменная для результа
23 Написать процедуру, которая вычисляет площадь прямоугольника. Параметрами процедуры должны...

Максимальная площадь покрытия
Добрый день! Есть ли отработанная схема завоевания топа по максимальному кол-ву регионов (10 и...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru